Heim > Backend-Entwicklung > Golang > Golang-Variablenparameter

Golang-Variablenparameter

WBOY
Freigeben: 2023-05-16 16:22:38
Original
686 Leute haben es durchsucht

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
}
Nach dem Login kopieren

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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)  // 报错!第一个参数应该是整数类型
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage