ExpertiDict

Go · Intermediário · Português · Técnico

função variádica

/fũ.ˈsɐ̃w̃ va.ɾi.ˈa.ʤi.kɐ/substantivo

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

Veja também

Todos os termos de Go