Paramètres facultatifs dans Go

Jay Singh 30 janvier 2023
  1. Utilisez la fonction variadic pour passer des paramètres optionnels dans Go
  2. Utilisez la fonction variadic pour passer plusieurs chaînes dans Go
Paramètres facultatifs dans Go

Les fonctions variadic ont un nombre variable d’arguments lorsqu’elles sont invoquées. Il peut être utilisé avec zéro ou plusieurs arguments.

Des points de suspension ... peuvent définir une fonction variable devant un paramètre.

Utilisez la fonction variadic pour passer des paramètres optionnels dans Go

La fonction acceptera n’importe quel nombre d’ints comme entrées. Si vous avez déjà plusieurs args dans une tranche, utilisez func(slice...) pour les appliquer à une fonction 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...)
}

Production:

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

Utilisez la fonction variadic pour passer plusieurs chaînes dans Go

Le nombre de paramètres fournis au paramètre s n’a aucune restriction. Les points de suspension arborescents informent le compilateur que cette chaîne peut avoir n’importe quel nombre de valeurs de zéro à plusieurs.

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)
}

Production:

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

Créons un programme qui dit bonjour aux gens lorsque leurs noms sont fournis à la fonction :

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)
	}
}

Production:

Hello Jay
Hello Jessica
Hello Mark
Hello Jonas

Article connexe - Go Variadic