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.