English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Funktionen, die mit unterschiedlichem Parameteranzahl aufgerufen werden, heißen Variadic-Parameterfunktionen. Mit anderen Worten, es wird dem Benutzer erlaubt, in variablen Funktionen null oder mehrere Parameter zu übergeben.fmt.PrintfDies ist ein Beispiel für eine Variadic-Parameterfunktion, die am Anfang einen festen Parameter benötigt und danach beliebige Anzahl von Parametern akzeptieren kann.
Wichtige Angelegenheit:
In der Deklaration von Variadic-Parameterfunktionen wird vor dem Typ des letzten Parameters ein Ellipsen-Zeichen verwendet, d.h. (…)。Es zeigt an, dass die Funktion eine beliebige Anzahl dieser Typen von Parametern aufrufen kann
Syntax:
function function_name(para1, para2...type)type{ // code... }
function …typevonverhält sich ähnlich wie eine Liste (slice). Zum Beispiel nehmen wir an, dass wir eine Funktionssignatur haben, nämlich add(b…int)int, die jetzt ein Parameter vom Typ type [] int ist.
Sie können auch bestehende Listen in Variablenparameterfunktionen übergeben. Dies geschieht, indem wir einen Teil des vollständigen Arrays der Funktion übergeben, wie im folgenden Beispiel:Beispiel2.
Wenn Sie keine Parameter an eine Variablenparameterfunktion übergeben, ist die interne Voreinstellung nil.
Variablenparameterfunktionen werden in der Regel für die Stringformatierung verwendet.
Sie können auch mehrere Listen in Variablenparameterfunktionen übergeben.
Sie können Variablenparameter nicht als Rückgabewert verwenden, aber Sie können sie als Liste zurückgeben.
Beispiel für null und mehrere Parameter:
package main import ( "fmt" "strings" ) //Variablenparameterfunktionen zur Verknüpfung von Strings func joinstr(element ...string) string { return strings.Join(element, "-) } func main() { //Keine Parameter fmt.Println(joinstr()) //Mehrfachparameter fmt.Println(joinstr("GEEK", "GFG")) fmt.Println(joinstr("Geeks", "for", "Geeks")) fmt.Println(joinstr("G", "E", "E", "k", "S")) }
Ausgabe:
GEEK-GFG Geeks-for-Geeks G-E-E-k-S
Beispiel2, Variablenparameterfunktionen zur Verknüpfung von Strings, Liste an Variablenparameterfunktionen übergeben:
package main import( "fmt" "strings" ) //Variablenparameterfunktionen zur Verknüpfung von Strings func joinstr(element...string)string{ return strings.Join(element, "-) } func main() { //Liste an Variablenparameterfunktionen übergeben element:= []string{"geeks", "FOR", "geeks"} fmt.Println(joinstr(element...)) }
Ausgabe:
geeks-FOR-geeks
Wenn wir Variablenparameterfunktionen verwenden:
Verwenden Sie Variablenparameterfunktionen, wenn Sie eine Liste an einen Funktion übergeben möchten.
Wenn wir die Anzahl der Parameter nicht kennen, verwenden wir Variablenparameterfunktionen.
Bei der Verwendung von Variablenparameterfunktionen in Programmen kann es die Lesbarkeit des Programms erhöhen.