Optionale Parameter in Go

Jay Singh 30 Januar 2023
  1. Verwenden Sie die variadic-Funktion, um optionale Parameter in Go zu übergeben
  2. Verwenden Sie die variadic-Funktion, um mehrere Strings in Go zu übergeben
Optionale Parameter in Go

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

Verwandter Artikel - Go Variadic