Paramètres facultatifs dans Go
-
Utilisez la fonction
variadic
pour passer des paramètres optionnels dans Go -
Utilisez la fonction
variadic
pour passer plusieurs chaînes 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