Introducción
En Go, una función que puede tomar un número variable de argumentos se llama función variádica. Esta práctica te ayudará a comprender cómo utilizar las funciones variádicas en Go.
This tutorial is from open-source community. Access the source code
💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí
En Go, una función que puede tomar un número variable de argumentos se llama función variádica. Esta práctica te ayudará a comprender cómo utilizar las funciones variádicas en Go.
En esta práctica, debes implementar una función llamada max
que tome un número arbitrario de enteros como argumentos y devuelva el valor máximo.
max
debe tomar un número arbitrario de enteros como argumentos.max
debe devolver el valor máximo de los enteros pasados como argumentos.$ go run variadic-functions.go
[1 2] 3
[1 2 3] 6
[1 2 3 4] 10
## Otro aspecto clave de las funciones en Go es su capacidad
## para formar closures, que veremos a continuación.
A continuación está el código completo:
// [_Funciones variádicas_](https://en.wikipedia.org/wiki/Variadic_function)
// se pueden llamar con cualquier número de argumentos finales.
// Por ejemplo, `fmt.Println` es una función variádica común.
package main
import "fmt"
// Aquí hay una función que tomará un número arbitrario
// de `int`s como argumentos.
func sum(nums...int) {
fmt.Print(nums, " ")
total := 0
// Dentro de la función, el tipo de `nums` es
// equivalente a `[]int`. Podemos llamar a `len(nums)`,
// iterar sobre él con `range`, etc.
for _, num := range nums {
total += num
}
fmt.Println(total)
}
func main() {
// Las funciones variádicas se pueden llamar de la manera
// habitual con argumentos individuales.
sum(1, 2)
sum(1, 2, 3)
// Si ya tienes múltiples argumentos en un slice,
// aplícalos a una función variádica usando
// `func(slice...)` de esta manera.
nums := []int{1, 2, 3, 4}
sum(nums...)
}
En esta práctica, aprendiste cómo utilizar las funciones variádicas en Go. Implementaste una función llamada max
que toma un número arbitrario de enteros como argumentos y devuelve el valor máximo.