Funciones Variádicas en Go

La función que llamó con el número variable de argumentos se conoce como función variádica. O, en otras palabras, un usuario puede pasar cero o más argumentos en la función variádica. fmt.Printf es el ejemplo de la función variádica, requiere un argumento fijo al principio, después de eso puede aceptar cualquier cantidad de argumentos. 
Puntos importantes:
 

  • En la declaración de la función variádica, el tipo del último parámetro va precedido de puntos suspensivos, es decir, ( ). Indica que la función se puede llamar en cualquier número de parámetros de este tipo. 
    Sintaxis: 
     
function function_name(para1, para2...type)type{
// code...
}
  • Dentro de la función …el tipo se comporta como un segmento. Por ejemplo, supongamos que tenemos una firma de función, es decir, add(b…int)int, ahora el parámetro a de type[]int.
  • También puede pasar un segmento existente en una función variádica. Para hacer esto, pasamos una porción de la array completa a la función como se muestra en el Ejemplo 2 a continuación.
  • Cuando no pasa ningún argumento en la función variádica, entonces el segmento dentro de la función es nulo.
  • Las funciones variádicas se utilizan generalmente para dar formato a strings.
  • También puede pasar varios segmentos en la función variádica.
  • No puede usar el parámetro variádico como valor de retorno, pero puede devolverlo como un segmento.

Ejemplo 1:
 

C

// Go program to illustrate the
// concept of variadic function
package main
 
import(
    "fmt"
    "strings"
)
 
// Variadic function to join strings
func joinstr(element...string)string{
    return strings.Join(element, "-")
}
 
func main() {
   
  // zero argument
   fmt.Println(joinstr())
    
   // multiple arguments
   fmt.Println(joinstr("GEEK", "GFG"))
   fmt.Println(joinstr("Geeks", "for", "Geeks"))
   fmt.Println(joinstr("G", "E", "E", "k", "S"))
    
}

Producción: 
 

GEEK-GFG
Geeks-for-Geeks
G-E-E-k-S

Ejemplo 2:
 

C

// Go program to illustrate the
// concept of variadic function
package main
 
import(
    "fmt"
    "strings"
)
 
// Variadic function to join strings
func joinstr(element...string)string{
    return strings.Join(element, "-")
}
 
func main() {
    
   // pass a slice in variadic function
   element:= []string{"geeks", "FOR", "geeks"}
   fmt.Println(joinstr(element...))
}

Producción: 
 

geeks-FOR-geeks

Cuando usamos una función Variádica:
 

  • La función variádica se usa cuando desea pasar un segmento en una función.
  • La función variadica se usa cuando no sabemos la cantidad de parámetros.
  • Cuando usa la función variádica en su programa, aumenta la legibilidad de su programa.

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *