|
Funções variádicas
podem ser chamads com qualquer número de argumentos.
Por exemplo, |
|
![]()
package main |
|
import "fmt" |
|
|
Aqui está uma função que aceitará um número arbitrário de
inteiros |
func sum(nums ...int) { fmt.Print(nums, " ") total := 0 |
|
Dentro da função, o tipo |
for _, num := range nums {
total += num
}
fmt.Println(total)
}
|
func main() { |
|
|
Funções variádicas pode ser chamada de forma usual com argumentos individuais. |
sum(1, 2)
sum(1, 2, 3)
|
|
Se uma slice com multiplos argumentos estiver
disponível, é possível passá-la como parâmetro
para uma função variádica usando |
nums := []int{1, 2, 3, 4}
sum(nums...)
}
|
$ go run variadic-functions.go [1 2] 3 [1 2 3] 6 [1 2 3 4] 10 |
|
|
Outro aspecto chave de funções em Go é a capacidade para formar fechamentos (closures), que serão apresentados em seguida. |
Próximo exemplo: Closures.