La especificación del lenguaje de programación Go
Pasando argumentos a ... parámetros
Si f es variable con el tipo de parámetro final ... T, entonces dentro de la función el argumento es equivalente a un parámetro de tipo [] T. En cada llamada de f, el argumento que se pasa al parámetro final es un nuevo segmento de tipo [] T cuyos elementos sucesivos son los argumentos reales, todos los cuales deben ser asignables al tipo T. La longitud del segmento es, por lo tanto, el número de argumentos ligados al parámetro final y pueden diferir para cada sitio de llamada.
Paquete ejecutivo
comando func
func Command(name string, arg ...string) *Cmd
El comando devuelve la estructura Cmd para ejecutar el programa nombrado con los argumentos dados.
El campo Args del Cmd devuelto se construye a partir del nombre del comando seguido de los elementos de arg, por lo que arg no debe incluir el nombre del comando en sí. Por ejemplo, Command ("echo", "hola")
Por ejemplo,
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))
}
Salida:
hello world