Specyfikacja języka programowania Go
Przekazywanie argumentów do ... parametrów
Jeśli f jest wariadyczne z końcowym typem parametru ... T, to w funkcji argument jest równoważny parametrowi typu [] T. Przy każdym wywołaniu funkcji f argumentem przekazanym do końcowego parametru jest nowy wycinek typu [] T, którego kolejne elementy są faktycznymi argumentami, z których wszystkie muszą być przypisane do typu T. Długość wycinka jest zatem liczbą argumenty powiązane z końcowym parametrem i mogą się różnić dla każdej witryny wywołania.
Pakiet exec
func Command
func Command(name string, arg ...string) *Cmd
Polecenie zwraca strukturę Cmd, aby wykonać nazwany program z podanymi argumentami.
Zwracane pole Args Cmd jest konstruowane z nazwy polecenia, po której następują elementy arg, więc argument nie powinien zawierać samej nazwy polecenia. Na przykład Command („echo”, „cześć”)
Na przykład,
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))
}
Wynik:
hello world