Go · Intermediário · Português · Técnico
função variádica
Função cujo último parâmetro aceita zero ou mais argumentos do mesmo tipo, declarado com ...T e visto dentro como um slice.
Onde usar
É o caso de fmt.Println e append. Para repassar um slice já existente, usa-se 'xs...' na chamada.
Em código
func sum(nums ...int) (t int) {
for _, n := range nums {
t += n
}
return
}
xs := []int{1, 2, 3}
fmt.Println(sum(), sum(xs...))Exemplos
Faz dessa função uma variádica, assim ela aceita qualquer quantidade de IDs.
Para passar o slice inteiro para a variádica, coloca as reticências depois dele.
Cuidado
Chamar com 'xs...' passa o mesmo slice, sem copiar: se a função alterar os elementos, o original muda.
Sinônimos
função com argumentos variáveis