Funções variádicas
podem ser chamadas com qualquer número de argumentos à direita.
Por exemplo, |
|
package main
|
|
import "fmt"
|
|
Aqui temos uma função que irá pegar um número arbitrário de
|
func soma(nums ...int) {
fmt.Print(nums, " ")
total := 0
for _, num := range nums {
total += num
}
fmt.Println(total)
}
|
func main() {
|
|
Funções variádicas podem ser chamadas da forma usual com argumentos individuais. |
soma(1, 2)
soma(1, 2, 3)
|
Se você já possui múltiplos argumentos em um slice,
aplique-os em uma função variádica usando
|
nums := []int{1, 2, 3, 4}
soma(nums...)
}
|
$ go run funções-variádicas.go
[1 2] 3
[1 2 3] 6
[1 2 3 4] 10
|
|
Outro aspecto fundamental das funções em Go são suas habilidades para formar closures, na qual vamos ver a seguir. |
Próximo exemplo: Closures.