Heim >Backend-Entwicklung >Golang >Wie funktioniert Gos „...interface{}' (variadischer Parameter)?

Wie funktioniert Gos „...interface{}' (variadischer Parameter)?

Barbara Streisand
Barbara StreisandOriginal
2024-12-20 08:59:11513Durchsuche

How Does Go's `...interface{}` (Variadic Parameter) Work?

Die Bedeutung von ...interface{} (Dot Dot Dot Interface) verstehen

Variadic-Funktionen sind in Go ein leistungsstarkes Werkzeug für Behandeln einer beliebigen Anzahl von Eingabeargumenten. Eine Funktion mit einem variadischen Parameter, wie zum Beispiel:

func DPrintf(format string, a ...interface{}) (n int, err error)

ermöglicht die Übergabe einer beliebigen Anzahl von Argumenten an den a-Parameter.

Punkt-Punkt-Punkt-Schnittstelle (variadischer Parameter)

Die ... Notation, die vor einem Parametertyp verwendet wird, wird als variadischer Parameter bezeichnet. Es gibt an, dass die Funktion eine variable Anzahl von Argumenten des angegebenen Typs akzeptieren kann. In diesem Fall erwartet der a-Parameter Argumente vom Typ interface{}.

Interface

Schnittstellentypen in Go definieren einen Vertrag für eine Reihe von Methoden, die einen bestimmten Wert haben umsetzen muss. Der Typ interface{} ist eine spezielle Schnittstelle, die Werte jeden Typs enthalten kann. Es fungiert als Platzhalter und ermöglicht es Ihnen, jeden gültigen Go-Wert an den a-Parameter zu übergeben.

Verwendung von ...interface{}

Die drei Punkte .. . Geben Sie vor dem Typ interface{} Folgendes an:

  1. Variadic: Der a-Parameter kann eine beliebige Anzahl von akzeptieren Argumente.
  2. Slice von Schnittstellenwerten: Die an die Funktion übergebenen Argumente werden als Slice von Interface{}-Werten innerhalb des a-Parameters gespeichert.
  3. Uneingeschränkt Typ: Die Argumente können von jedem Typ sein, der die Schnittstelle interface{} implementiert, was im Wesentlichen jedes Go bedeutet value.

Beispiel

Der folgende Codeausschnitt veranschaulicht, wie der ...interface{}-Parameter funktioniert:

func main() {
    n, err := DPrintf("name: %s, age: %d", "John", 30)
}

In In diesem Beispiel wird die DPrintf-Funktion mit zwei Argumenten aufgerufen: einer Zeichenfolge und einer Ganzzahl. Diese Argumente werden in ein Segment von Interface{}-Werten gepackt und an den a-Parameter übergeben. Die Funktion kann dann mithilfe der Slice-Syntax auf diese Werte zugreifen, z. B. a[0] für die Zeichenfolge und a[1] für die Ganzzahl.

Das obige ist der detaillierte Inhalt vonWie funktioniert Gos „...interface{}' (variadischer Parameter)?. 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