Я столкнулся с вопросом, связанным с аргументами, передаваемыми функции 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))
}
Итак, как вы можете видеть, каждый arg определен выше как arg0
, arg1
, arg2
и arg3
. Они передаются в функцию Command
вместе с фактической командой для запуска в этом случае app
var.
Что, если бы у меня был массив аргументов, которые всегда, возможно, имели неопределенный подсчет, который я хотел пройти. Возможно ли это?