Die variable Parameterfunktion in Golang bedeutet, dass die Funktion eine unterschiedliche Anzahl von Parametern akzeptieren kann. Beim Definieren einer Funktion können Sie drei Punkte „…“ verwenden, um anzuzeigen, dass die Anzahl der Parameter nicht festgelegt ist und diese Parameter in einen Slice gepackt werden.
In Golang kann die Parameterliste einer Funktion nur einen variablen Parameter enthalten, der normalerweise am Ende der Parameterliste platziert wird.
Das Folgende ist beispielsweise eine Funktion, die die Summe beliebig vieler Ganzzahlen berechnet:
func sum(nums ...int) int { total := 0 for _, num := range nums { total += num } return total }
In der Funktionssignatur werden drei Punkte „…“ verwendet Geben Sie die Unsicherheit an Parameter, der Parametername ist „nums“ und der Datentyp ist „int“, also ist „nums“ tatsächlich ein ganzzahliges Segment.
Wenn Sie diese Funktion aufrufen, können Sie eine beliebige Anzahl von Ganzzahlen als Parameter übergeben, und es ist nicht erforderlich, die Anzahl der Parameter anzugeben:
fmt.Println(sum(1, 2, 3)) // 输出 6 fmt.Println(sum(10, 20, 30, 40)) // 输出 100
Funktionen mit unbestimmten Parametern weisen eine hohe Flexibilität auf . Kann viele verschiedene Arten und Anzahlen von Parametern verarbeiten. Das Folgende ist ein Beispiel für die Berechnung des Durchschnitts von zwei oder drei Gleitkommazahlen:
func avg(nums ...float64) float64 { sum := 0.0 for _, num := range nums { sum += num } return sum / float64(len(nums)) } fmt.Println(avg(1.0, 2.0)) // 输出 1.5 fmt.Println(avg(1.0, 2.0, 3.0)) // 输出 2.0
Es ist zu beachten, dass in der Go-Sprache auch variable Parameter beim Aufrufen von Funktionen der Reihenfolge der Parameterübergabe folgen müssen. Wenn beispielsweise im folgenden Beispiel die Parameter umgekehrt sind, meldet die Funktion einen Fehler:
func foo(num int, strs ...string) { fmt.Println(num) fmt.Println(strs) } foo("hello", "world", 1) // 报错!第一个参数应该是整数类型
Innerhalb der Funktion können Sie eine for-Schleife verwenden, um die unbestimmten Parameter zu iterieren, z. B. beim Betreiben eines Slice, und iterieren Sie jedes dieser Elemente, die verarbeitet werden. Nach der Verarbeitung der variablen Parameter können Sie auch die Funktion len() verwenden, um die Anzahl der variablen Parameter zu ermitteln.
Kurz gesagt, in Golang können variable Parameterfunktionen die Flexibilität und Praktikabilität des Programms erheblich verbessern und sind sehr praktisch und schnell für die Verarbeitung unsicherer Zahlen und Parametertypen.
Das obige ist der detaillierte Inhalt vonGolang-Variablenparameter. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!