Heim >Backend-Entwicklung >Golang >Können Go-Funktionen eine variable Anzahl von Argumenten akzeptieren?

Können Go-Funktionen eine variable Anzahl von Argumenten akzeptieren?

Linda Hamilton
Linda HamiltonOriginal
2024-12-07 00:22:10911Durchsuche

Can Go Functions Accept a Variable Number of Arguments?

Unterstützt Go Funktionen mit variablen Argumenten?

In Go können Sie Funktionen erstellen, die eine variable Anzahl von Argumenten akzeptieren können, sogenannte Variadische Funktionen. Diese Flexibilität ermöglicht es Ihnen, Funktionen zu verallgemeinern, um eine beliebige Anzahl von Eingaben zu verarbeiten.

Beispiel:

Betrachten Sie den folgenden Codeausschnitt, in dem Sie eine Funktion Add definieren möchten, die eine akzeptiert unbekannte Anzahl von Ganzzahlen:

func Add(num1... int) int {
    return args
}

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

In diesem Code wird die Add-Funktion mit ...int als Typ ihres letzten Parameters definiert. Die Syntax ... gibt an, dass dieser Parameter mehrere Werte des angegebenen Typs akzeptieren kann.

Lösung:

Wie in der bereitgestellten Antwort angegeben, die Syntax für variadische Parameter in Go ist ...int, nicht nur int. Der überarbeitete Code unten demonstriert die korrekte Verwendung:

func Add(num1... int) int {
    // Sum the numbers and return the result
    sum := 0
    for _, n := range num1 {
        sum += n
    }
    return sum
}

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

Mit dieser Änderung können Sie die Add-Funktion mit einer beliebigen Anzahl von Ganzzahlen als Argumenten verwenden und bieten so die gewünschte Flexibilität.

Das obige ist der detaillierte Inhalt vonKönnen Go-Funktionen eine variable Anzahl von Argumenten akzeptieren?. 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