Heim >Backend-Entwicklung >Golang >Wie verarbeiten variadische Funktionen in Go eine beliebige Anzahl von Argumenten?

Wie verarbeiten variadische Funktionen in Go eine beliebige Anzahl von Argumenten?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-01 10:24:15336Durchsuche

How Do Variadic Functions in Go Handle an Arbitrary Number of Arguments?

Variadische Funktionen in Go

Golang bietet eine einzigartige Funktion namens Variadische Funktionen, mit der Sie Funktionen definieren können, die eine beliebige Anzahl von Argumenten akzeptieren. Dies bietet eine flexible Möglichkeit, Funktionen mit unterschiedlichen Eingaben zu verarbeiten.

In Ihrem Beispiel möchten Sie eine Funktion „Add“ definieren, die eine beliebige Anzahl von Ganzzahlen akzeptiert und deren Summe zurückgibt. In Go können Sie dies mit der Syntax ...int erreichen, wobei die Auslassungspunkte (...) die variable Anzahl von Argumenten angeben. Hier ist eine korrigierte Version Ihres Beispiels:

package main

import "fmt"

func Add(num1 ...int) int {
    sum := 0
    for _, v := range num1 {
        sum += v
    }
    return sum
}

func main() {
    fmt.Println("Hello, playground")
    fmt.Println(Add(1, 3, 4, 5))
}

Wie in der Spezifikation erwähnt:

Angesichts der Funktion und des Aufrufs

func Greeting(prefix string, who ...string)
Greeting("hello:", "Joe", "Anna", "Eileen")

innerhalb von Greeting, wer wird das tun? haben den Wert []string{"Joe", "Anna", „Eileen“🎜>

Daher ist der Parameter „num1“ beim Aufruf von Add(1, 3, 4, 5) ein Ausschnitt aus Ganzzahlen mit den Werten [1, 3, 4, 5]. Dieses Segment kann dann iteriert werden, um die Summe der Eingabezahlen zu berechnen.

Das obige ist der detaillierte Inhalt vonWie verarbeiten variadische Funktionen in Go eine beliebige Anzahl von Argumenten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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