Parámetros opcionales en Go

Jay Singh 30 enero 2023
  1. Use la función variadic para pasar parámetros opcionales en Go
  2. Use la función variadic para pasar múltiples cadenas en Go
Parámetros opcionales en Go

Las funciones variadic tienen un número variable de argumentos cuando se invocan. Se puede utilizar con cero o más argumentos.

Los puntos suspensivos ... pueden definir una función variable antes de un parámetro.

Use la función variadic para pasar parámetros opcionales en Go

La función aceptará cualquier número de ints como entradas. Si ya tiene muchos args en un segmento, use func(slice...) para aplicarlos a una función variadic.

package main

import "fmt"

func sum(nums ...int) {
	fmt.Print(nums, " ")
	total := 0
	for _, num := range nums {
		total += num
	}
	fmt.Println(total)
}
func main() {
	sum(1, 2)
	sum(1, 2, 3)
	nums := []int{1, 2, 3, 4}
	sum(nums...)
}

Producción :

[1 2] 3
[1 2 3] 6
[1 2 3 4] 10

Use la función variadic para pasar múltiples cadenas en Go

El número de parámetros suministrados al parámetro s no tiene restricción. Los puntos suspensivos en forma de árbol informan al compilador que esta cadena puede tener cualquier número de valores, desde cero hasta muchos.

package main

import "fmt"

func main() {
	variadic()
	variadic("white", "black")
	variadic("white", "black", "blue")
	variadic("white", "black", "blue", "purple")
}
func variadic(s ...string) {
	fmt.Println(s)
}

Producción :

[]
[white black]
[white black blue]
[white black blue purple]

Hagamos un programa que salude a la gente cuando sus nombres se proporcionen a la función:

package main

import "fmt"

func main() {
	sayHello()
	sayHello("Jay")
	sayHello("Jessica", "Mark", "Jonas")
}

func sayHello(names ...string) {
	for _, n := range names {
		fmt.Printf("Hello %s\n", n)
	}
}

Producción :

Hello Jay
Hello Jessica
Hello Mark
Hello Jonas

Artículo relacionado - Go Variadic