English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Las funciones llamadas con diferentes cantidades de parámetros se denominan funciones con parámetros variables. En otras palabras, permite que el usuario transmita cero o más parámetros en una función variable.fmt.PrintfEs un ejemplo de función con parámetros variables, que necesita un parámetro fijo al comenzar y luego puede aceptar cualquier cantidad de parámetros.
Asunto importante:
En la declaración de la función con parámetros variables, el tipo del último parámetro está precedido por un punto y coma, es decir, (…)。 Esto indica que la función puede llamar a una cantidad arbitraria de parámetros de este tipo
sintaxis:
función function_name(para1, para2...type)type{ // código... }
función function ...typedeEl comportamiento es similar al de un slice (slice). Por ejemplo, supongamos que tenemos una firma de función, es decir, add(b...int)int, ahora es un parámetro de tipo []int.
También se pueden pasar slices existentes a una función de parámetros variables. Para esto, pasamos una parte completa del array a la función, como se muestra a continuación.Ejemplo2Como se muestra.
Cuando no se pasan parámetros a una función de parámetros variables, el valor por defecto interno es nil.
Las funciones de parámetros variables se utilizan generalmente para la formateo de cadenas.
También se pueden pasar múltiples slices a una función de parámetros variables.
No se puede usar un parámetro variable como valor de retorno, pero se puede devolver como un slice.
Ejemplo de demostración de cero y múltiples parámetros:
paquete main import ( "fmt" "strings" ") //Función de parámetros variables para unir cadenas func joinstr(element ...string) string { return strings.Join(element, "");-") } func main() { //Cero parámetros fmt.Println(joinstr()) //Múltiples parámetros fmt.Println(joinstr("GEEK", "GFG")) fmt.Println(joinstr("Geeks", "for", "Geeks")) fmt.Println(joinstr("G", "E", "E", "k", "S")) }
Salida:
GEEK-GFG Geeks-for-Geeks G-E-E-k-S
Ejemplo2, unir cadenas con parámetros variables, pasar un slice a una función de parámetros variables:
paquete main import(" "fmt" "strings" ") //Función de parámetros variables para unir cadenas func joinstr(element...string)string{ return strings.Join(element, "");-") } func main() { //Passar un slice a una función de parámetros variables element:= []string{"geeks", "FOR", "geeks"} fmt.Println(joinstr(element...)) }
Salida:
geeks-FOR-geeks
Cuando usamos una función de parámetros variables:
Al tener que pasar un slice a una función, se utiliza una función de parámetros variables.
Cuando no sabemos la cantidad de parámetros, se utiliza una función de parámetros variables.
Al usar funciones de parámetros variables en un programa, se puede aumentar la legibilidad del programa.