Optionale Parameter in Go
-
Verwenden Sie die
variadic
-Funktion, um optionale Parameter in Go zu übergeben -
Verwenden Sie die
variadic
-Funktion, um mehrere Strings in Go zu übergeben
Die variadic
Funktionen haben beim Aufruf eine variable Anzahl von Argumenten. Es kann mit null oder mehr Argumenten verwendet werden.
Ein Auslassungszeichen ...
kann eine variable Funktion vor einem Parameter definieren.
Verwenden Sie die variadic
-Funktion, um optionale Parameter in Go zu übergeben
Die Funktion akzeptiert eine beliebige Anzahl von ints
als Eingaben. Wenn Sie bereits viele args
in einem Slice haben, verwenden Sie func(slice...)
, um sie auf eine variadic
Funktion anzuwenden.
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...)
}
Ausgabe:
[1 2] 3
[1 2 3] 6
[1 2 3 4] 10
Verwenden Sie die variadic
-Funktion, um mehrere Strings in Go zu übergeben
Die Anzahl der an den Parameter s
übergebenen Parameter ist nicht beschränkt. Die dreipunktierten Auslassungspunkte informieren den Compiler darüber, dass diese Zeichenfolge eine beliebige Anzahl von Werten von null bis zu vielen haben kann.
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)
}
Ausgabe:
[]
[white black]
[white black blue]
[white black blue purple]
Lassen Sie uns ein Programm erstellen, das die Leute begrüßt, wenn ihre Namen an die Funktion übergeben werden:
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)
}
}
Ausgabe:
Hello Jay
Hello Jessica
Hello Mark
Hello Jonas