Während des Entwicklungsprozesses stoßen wir häufig auf Situationen, in denen wir eine unbegrenzte Anzahl von Parametern übergeben müssen. Beispielsweise die Berechnung der Summe zweier oder mehrerer Zahlen oder das Drucken einer Zeichenfolge. Zu diesem Zeitpunkt können wir die Eigenschaften unbestimmter Parameter der Go-Sprachfunktion verwenden, um das Problem zu lösen.
Die Go-Sprache verwendet die Form ..., um die variablen Parameter einer Funktion darzustellen. Die Typen der variablen Parameter können gleich oder unterschiedlich sein. Bei Verwendung unbestimmter Parameter kann die Funktion eine beliebige Anzahl von Parametern empfangen, bei denen es sich um eine leere Menge oder eine Menge mit mehreren Elementen handeln kann.
Das Folgende ist ein einfaches Beispiel, das eine Funktion definiert, die ... verwendet, um unbestimmte Parameter darzustellen, dann das Parameterarray durchläuft und es ausgibt:
func Sum(nums ...int) { fmt.Print(nums, " ") total := 0 for _, num := range nums { total += num } fmt.Println(total) }
Die Rolle der oben genannten Funktion Berechnet die Summe einer Menge von ganzen Zahlen. Als nächstes rufen wir diese Funktion auf:
Sum(1, 2, 3, 4) Sum(1, 2, 3)
Die laufenden Ergebnisse sind wie folgt:
[1 2 3 4] 10 [1 2 3] 6
Es ist ersichtlich, dass wir die Summenfunktion zweimal gleichzeitig aufgerufen haben, wobei wir beim ersten Mal vier Parameter und beim zweiten Mal drei Parameter übergeben haben Die entsprechende Summe wurde erfolgreich berechnet.
Wir können Slicing verwenden, um Funktionen mit unbestimmten Parametern zu verarbeiten. Bei der Verwendung variabler Parameter in Slices können wir zunächst alle Parameter in das Slice laden und das Slice dann für nachfolgende Vorgänge verwenden.
Im folgenden Beispiel verwenden wir zunächst die Methode make(), um das Slice mit allen Parametern zu initialisieren, durchlaufen dann das Slice und berechnen die Summe:
func Sum(nums ...int) { total := 0 for _, num := range nums { total += num } fmt.Println(total) }
Wir rufen die Funktion Sum() erneut auf und übergeben dabei dieselben Parameter wie zuvor :
nums := []int{1, 2, 3, 4} Sum(nums...)
Das laufende Ergebnis dieser Funktion ist das gleiche wie zuvor, die Ausgabe ist:
10
Funktionen mit unbestimmten Parametern können in Kombination mit gewöhnlichen Parametern sehr nützlich sein. Beispielsweise können wir eine Funktion mit variablen Argumenten und einem String-Parameter verwenden, der die zu druckenden Informationen darstellt. Zum Beispiel:
func PrintStrings(separator string, strs ...string) { fmt.Println(strings.Join(strs, separator)) }
Die Funktion dieser Funktion besteht darin, einige Zeichenfolgen über das angegebene Trennzeichen zu verbinden und sie dann auszudrucken. Wir rufen zuerst diese Funktion auf und übergeben die drei zu verbindenden Zeichenfolgen und das Verbindungssymbol:
PrintStrings(", ", "a", "b", "c")
Die laufenden Ergebnisse sind wie folgt:
a, b, c
Bei Verwendung der variablen Parameterfunktion haben wir Ich muss auf einige Details achten. Hier sind einige Details zu beachten:
Die Verwendung unbestimmter Parameterfunktionen kann bequem eine dynamische Anzahl von Parametern verarbeiten, was das Schreiben von Code einfacher und flexibler macht. Es ist zu beachten, dass wir beim Aufruf einer Funktion mit variablen Parametern die Parameter in der vorgeschriebenen Weise übergeben müssen.
In diesem Artikel haben wir die Syntax von Funktionsparametern in der Go-Sprache kennengelernt und erfahren, wie man Funktionen mit variablen Parametern verwendet, um eine dynamische Anzahl von Parametern zu verarbeiten. In der Entwicklung wird die rationelle Verwendung variabler Parameterfunktionen die Qualität und Effizienz des Codes erheblich verbessern.
Das obige ist der detaillierte Inhalt vonGolang-Funktion mit unbestimmten Parametern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!