首页 > 解决方案 > 如何在 Golang 中使用 exec.Command().Output() 命令填充结构值?

问题描述

我已经在 Golang 中编写了以下代码,我需要将输出值传递给 dateStruct,有人可以帮我怎么做,或者即使有其他更好的方法可以将终端的命令输出传递到结构中?

type dateStruct struct {
    day string
    month string
    year string
}

func main()  {
    out, err := exec.Command("date").Output()
    if err != nil {
        log.Fatal(err)
    }
    fmt.Printf("The date is %s\n", out)

    fmt.Println(dateStruct{})
}

标签: go

解决方案


由于命令的输出可以是任何东西(可以是任何命令),您必须创建映射代码。

结构中的赋值可能如下所示:

ds:=&dateStruct{
day: parseDay(out),
month: parseMonth(out),
year: parseYear(out),
}

推荐阅读