A especificação da linguagem de programação Go
Passando argumentos para ... parâmetros
Se f for variável com o tipo de parâmetro final ... T, então, dentro da função, o argumento é equivalente a um parâmetro do tipo [] T. Em cada chamada de f, o argumento passado para o parâmetro final é uma nova fatia do tipo [] T cujos elementos sucessivos são os argumentos reais, que devem ser atribuídos ao tipo T. O comprimento da fatia é, portanto, o número de argumentos vinculados ao parâmetro final e podem diferir para cada site de chamada.
Package exec
função Comando
func Command(name string, arg ...string) *Cmd
O comando retorna a estrutura Cmd para executar o programa nomeado com os argumentos fornecidos.
O campo Args do Cmd retornado é construído a partir do nome do comando seguido pelos elementos de arg, portanto, arg não deve incluir o próprio nome do comando. Por exemplo, Command ("echo", "hello")
Por exemplo,
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))
}
Resultado:
hello world