Übergabe von Parametern an Funktionsabschlüsse
In Go kann sich die Wahl zwischen der Erstellung einer anonymen Funktion mit einem Parameter oder einem Abschluss auf die gemeinsame Nutzung von Variablen und auswirken Funktionsverhalten.
Parameter vs. Abschlüsse
Wann zu verwenden Parameter
Wann werden Verschlüsse verwendet?
Beispiel: Abschlüsse vs. Parameter
Betrachten Sie die folgenden Codebeispiele, die den Unterschied zwischen Schließungen und veranschaulichen Parameter:
Abschluss:
for i := 0; i < 3; i++ { go func() { fmt.Println(i) }() }
Parameter:
for i := 0; i < 3; i++ { go func(v int) { fmt.Println(v) }(i) }
Ergebnis:
Fazit
Die Wahl zwischen Parametern und Schließungen hängen vom gewünschten Verhalten und den variablen Sharing-Anforderungen ab. Wenn eine Funktion eine Momentaufnahme eines Werts benötigt, werden Parameter bevorzugt. Abschlüsse sind nützlich, wenn auf Variablen innerhalb des umschließenden Bereichs zugegriffen und diese geändert werden oder wenn sie über mehrere Aufrufe hinweg gemeinsam genutzt werden.
Das obige ist der detaillierte Inhalt vonParameter vs. Abschlüsse in Go: Wann welche verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!