La specifica del linguaggio di programmazione Go
Passaggio di argomenti a ... parametri
Se f è variadico con il tipo di parametro finale ... T, allora all'interno della funzione l'argomento è equivalente a un parametro di tipo [] T. Ad ogni chiamata di f, l'argomento passato al parametro finale è una nuova fetta di tipo [] T i cui elementi successivi sono gli argomenti effettivi, che devono essere tutti assegnabili al tipo T. La lunghezza della fetta è quindi il numero di argomenti legati al parametro finale e possono differire per ogni sito di chiamata.
Pacchetto exec
comando func
func Command(name string, arg ...string) *Cmd
Il comando restituisce la struttura Cmd per eseguire il programma denominato con gli argomenti forniti.
Il campo Args del Cmd restituito è costruito dal nome del comando seguito dagli elementi di arg, quindi arg non dovrebbe includere il nome del comando stesso. Ad esempio, Command ("echo", "hello")
Per esempio,
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))
}
Produzione:
hello world