gpt4 book ai didi

arrays - 要构造的字符串数组

转载 作者:IT王子 更新时间:2023-10-29 01:58:31 24 4
gpt4 key购买 nike

这是我执行的命令

$ ps -e
PID PPID PGID WINPID TTY UID STIME COMMAND
4372 1 4372 4372 ? 197608 03:44:57 /usr/bin/mintty
6476 4372 6476 6208 pty0 197608 03:44:58 /usr/bin/bash
14484 6476 14484 12888 pty0 197608 13:23:48 /usr/bin/ps

我使用 bufio scanner.scanLines 获得一维字符串数组。我需要将其转换为结构数组:

type ProcessInfo struct {
PID string `json:"PID"`
PPID string `json:"PPID"`
PGID string `json:"PGID"`
WINPID string `json:"WINPID"`
TTY string `json:"TTY"`
UID string `json:"UID"`
STIME string `json:"STIME"`
COMMAND string `json:"COMMAND"`
}

如有任何帮助,我们将不胜感激。

最佳答案

有一个方便的 strings.Fieldsstrings 中发挥作用帮助解析这种输出的包。 Go 喜欢务实的方法,所以天真的实现是:

  • 遍历您的数组并将每一行拆分为以空格作为分隔符的字段
  • 从这些字段构造新的 ProcessInfo 对象
  • 将这个对象添加到数组中

假设你的数组被命名为lines,就做这样的事情:

var pinfos []ProcessInfo
for _, line := range lines {
fields := strings.Fields(line)

pi := ProcessInfo{
PID: fields[0],
PPID: fields[1],
PGID: fields[2],
WINPID: fields[3],
TTY: fields[4],
UID: fields[5],
STIME: fields[6],
COMMAND: fields[7],
}

pinfos = append(pinfos, pi)
}

查看完整代码: https://play.golang.org/p/wo8FFiYabA

关于arrays - 要构造的字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39669009/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com