如何在Golang中使用exec.Command().Output()命令填充结构值?

如何在Golang中使用exec.Command().Output()命令填充结构值?,go,Go,我已经在Golang中编写了以下代码,我需要将输出值传递到dateStruct中,是否有人可以帮助我如何实现,或者是否有其他更好的方法将终端的命令输出传递到结构中 type dateStruct struct { day string month string year string } func main() { out, err := exec.Command("date").Output() if err != nil { log

我已经在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{})
}

由于命令的输出可以是任何内容(可以是任何命令),因此必须创建映射代码

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

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

由于命令的输出可以是任何内容(可以是任何命令),因此必须创建映射代码

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

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

确切地说,命令的输出可以是任何命令。在本例中,我只有4个特定的命令,并且正在寻找是否有其他方法来运行该命令并获得输出。同时看看命令本身:一些命令将为您提供结构化输出(如json、yaml或xml),使您的生活更加轻松。确切地说,命令的输出可以是任何命令。在本例中,我只有4个特定的命令,并且正在寻找是否有其他方法来运行该命令并获得输出。同时看看命令本身:一些命令将为您提供结构化输出(如json、yaml或xml),使您的生活更加轻松。您到底想做什么?exec.Command().Output()根据正在执行的命令变化很大。如果您的最终目标是获取当前日期,那么有更好的方法来实现。正如@CeriseLimón所提到的,输出的格式非常关键。我假设
日期
只是一个例子。理想情况下,如果您能够以可解析格式(JSON、YAML等)输出命令,那么您可以在命令的
stdout
上使用
Pipe
,并将Pipe的
io.Reader
直接传递到相应的
解码器中(
JSON.Decoder
YAML.Decoder
等)。您到底想做什么?exec.Command().Output()根据正在执行的命令变化很大。如果您的最终目标是获取当前日期,那么有更好的方法来实现。正如@CeriseLimón所提到的,输出的格式非常关键。我假设
日期
只是一个例子。理想情况下,如果您能够以可解析格式(JSON、YAML等)输出命令,那么您可以在命令的
stdout
上使用
Pipe
,并将Pipe的
io.Reader
直接传递到相应的
解码器中(
JSON.Decoder
YAML.Decoder
等)