Introdução
Em Go, uma função que pode receber um número variável de argumentos é chamada de função variádica (variadic function). Este laboratório testará sua compreensão de como usar funções variádicas em Go.
This tutorial is from open-source community. Access the source code
💡 Este tutorial foi traduzido do inglês com assistência de IA. Para ver o original, você pode mudar para a versão em inglês
Em Go, uma função que pode receber um número variável de argumentos é chamada de função variádica (variadic function). Este laboratório testará sua compreensão de como usar funções variádicas em Go.
Neste laboratório, você precisa implementar uma função chamada max
que recebe um número arbitrário de inteiros como argumentos e retorna o valor máximo.
max
deve receber um número arbitrário de inteiros como argumentos.max
deve retornar o valor máximo dos inteiros passados como argumentos.$ go run variadic-functions.go
[1 2] 3
[1 2 3] 6
[1 2 3 4] 10
## Outro aspecto chave das funções em Go é sua capacidade
## de formar closures, que veremos a seguir.
A seguir, o código completo:
// [_Funções variádicas_](https://en.wikipedia.org/wiki/Variadic_function)
// podem ser chamadas com qualquer número de argumentos finais.
// Por exemplo, `fmt.Println` é uma função variádica comum.
package main
import "fmt"
// Aqui está uma função que receberá um número arbitrário
// de `int`s como argumentos.
func sum(nums ...int) {
fmt.Print(nums, " ")
total := 0
// Dentro da função, o tipo de `nums` é
// equivalente a `[]int`. Podemos chamar `len(nums)`,
// iterar sobre ele com `range`, etc.
for _, num := range nums {
total += num
}
fmt.Println(total)
}
func main() {
// Funções variádicas podem ser chamadas da maneira usual
// com argumentos individuais.
sum(1, 2)
sum(1, 2, 3)
// Se você já tem múltiplos argumentos em uma slice,
// aplique-os a uma função variádica usando
// `func(slice...)` assim.
nums := []int{1, 2, 3, 4}
sum(nums...)
}
Neste laboratório, você aprendeu como usar funções variádicas (variadic functions) em Go. Você implementou uma função chamada max
que recebe um número arbitrário de inteiros como argumentos e retorna o valor máximo.