我如何将一组动态参数传递给Go的命令exec.Command?

Har*_*nce 17 command exec go

我在这里遇到了一个关于将参数传递给Go exec.Command函数的问题,我想知道是否有办法动态传递这些参数?以下是sed问题的一些示例代码:

package main

import "os/exec"

func main() {
    app := "echo"
    //app := "buah"

    arg0 := "-e"
    arg1 := "Hello world"
    arg2 := "\n\tfrom"
    arg3 := "golang"

    cmd := exec.Command(app, arg0, arg1, arg2, arg3)
    out, err := cmd.Output()

    if err != nil {
        println(err.Error())
        return
    }

    print(string(out))
}
Run Code Online (Sandbox Code Playgroud)

所以你可以看到每个arg的上述定义arg0,arg1,arg2arg3.它们Command与实际运行的命令一起传递给函数,在本例中为appvar.

如果我有一系列的参数总是可能有一个我想要通过的不确定性计数怎么办?这可能吗?

Vol*_*ker 47

像这样:

args := []string{"what", "ever", "you", "like"}
cmd := exec.Command(app, args...)
Run Code Online (Sandbox Code Playgroud)

看看golang.org上的语言和教程.