Спецификация языка программирования Go
Передача аргументов параметрам ...
Если f является переменным с конечным типом параметра ... T, то внутри функции аргумент эквивалентен параметру типа [] T. При каждом вызове f аргумент, передаваемый окончательному параметру, представляет собой новый срез типа [] T, последовательные элементы которого являются фактическими аргументами, которые все должны быть назначены типу T. Следовательно, длина среза равна числу аргументы, связанные с конечным параметром, и могут различаться для каждого сайта вызова.
blockquote>func Command(name string, arg ...string) *Cmd
Команда возвращает структуру Cmd для выполнения именованной программы с заданными аргументами.
Возвращенное поле Cmd's Args построено из имени команды по элементам arg, поэтому arg не должен включать имя самой команды. Например, команда («эхо», «привет»)
blockquote>Например,
package main import ( "fmt" "os/exec" ) func main() { name := "echo" args := []string{"hello", "world"} cmd := exec.Command(name, args...) out, err := cmd.Output() if err != nil { fmt.Println(err) } fmt.Println(string(out)) }
Выход:
hello world