Heim > Backend-Entwicklung > Golang > golang func unbestimmte Parameter

golang func unbestimmte Parameter

PHPz
Freigeben: 2023-05-14 20:29:35
Original
464 Leute haben es durchsucht

In Golang-Funktionen können Parameter mit unbestimmten Parametern übergeben werden. Unbestimmte Parameter beziehen sich auf die Verwendung eines speziellen Typs zum Empfangen aller Parameter, wenn die Anzahl der Parameter ungewiss ist. In einer Funktion können Sie ...type verwenden, um unbestimmte Parameter zu definieren, wobei type ein beliebiger Datentyp ist, z. B. int, string usw.

Das Folgende ist ein einfaches Beispiel, das unbestimmte Parameter verwendet, um die Summe einer Reihe von Zahlen zu berechnen:

func sum(nums ...int) int {
    total := 0
    for _, num := range nums {
        total += num
    }
    return total
}

func main() {
    fmt.Println(sum(1, 2, 3, 4, 5)) // 输出 15
}
Nach dem Login kopieren

Im obigen Beispiel empfängt die Summenfunktion einen unbestimmten Parameter nums vom Typ int und verwendet eine for-Schleife, um alle zu durchlaufen Parameter eingeben und deren Werte addieren. In der Hauptfunktion übergeben wir beim Aufruf der Summenfunktion 5 Parameter vom Typ int und geben deren Summe aus.

Der Vorteil der Verwendung unbestimmter Parameter besteht darin, dass Sie problemlos beliebig viele Parameter übergeben können, ohne deren Anzahl im Voraus angeben zu müssen. Es eignet sich ideal für Funktionen, die eine dynamische Anzahl von Parametern verarbeiten müssen, z. B. Verarbeitungsprotokolle, Dateipfade, URLs usw.

Unbestimmte Parameter können nicht nur eine unbegrenzte Anzahl von Parametern desselben Typs empfangen, sondern auch Parameter unterschiedlichen Typs. Hier ist ein Beispiel, das variable Parameter verwendet, um eine beliebige Anzahl von Werten und deren Typen auszugeben:

func display(values ...interface{}) {
    for _, value := range values {
        fmt.Printf("%v (%T)
", value, value)
    }
}

func main() {
    display(1, "hello", true)
}
Nach dem Login kopieren

Im obigen Beispiel empfängt die Anzeigefunktion eine variable Anzahl von Parameterwerten vom Typ interface{} und verwendet a for-Schleife zum Durchlaufen aller Parameter und Verwenden der Printf-Funktion zur Ausgabe ihrer Werte und Typen. Wenn wir in der Hauptfunktion die Anzeigefunktion aufrufen, übergeben wir einen int-Typwert 1, einen String-Typwert „hello“ und einen bool-Typwert true und geben deren Werte und Typen aus.

Es ist zu beachten, dass bei Verwendung eines unbestimmten Parameters dieser der letzte Parameter in der Funktionsparameterliste sein muss. Da Argumente beim Aufruf einer Funktion in einer deterministischen Reihenfolge übergeben werden müssen, müssen Variablenargumente am Ende der Parameterliste stehen, damit die anderen Argumente bereits deterministisch sind.

Kurz gesagt ist die Verwendung unbestimmter Parameter eine sehr praktische Möglichkeit, eine dynamische Anzahl von Parametern zu verarbeiten, wodurch wir flexiblere Funktionen einfacher schreiben können. In Golang sind unbestimmte Parameter sehr einfach zu verwenden. Sie müssen beim Definieren einer Funktion nur ...type verwenden.

Das obige ist der detaillierte Inhalt vongolang func unbestimmte Parameter. 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