Heim > Artikel > Backend-Entwicklung > So erfassen Sie Variablen mithilfe des Golang-Funktionsabschlusses
Wie erfasst man Variablen mithilfe von Go-Funktionsabschlüssen? Definieren Sie einen Funktionsparameter, der die zu erfassenden Variablen enthält. Verwenden Sie innerhalb des Funktionskörpers die erfassten Variablen. Beispiel: Counter-Closure-Cache-Closure-Closures werden in Go verwendet, um Variablen zu erfassen und flexiblen und wiederverwendbaren Code zu erstellen.
So erfassen Sie Variablen mit Go-Funktionsabschlüssen
Ein Abschluss ist eine Funktion, die freie Variablen enthält, die außerhalb der Funktionsdefinition definiert sind, auf die aber innerhalb der Funktion zugegriffen werden kann. In Go können Abschlüsse erstellt werden, indem die folgenden Schritte ausgeführt werden:
Beispielcode:
package main import "fmt" func main() { x := 10 f := func() { // x 是一个自由变量,可以在 f 内访问 fmt.Println(x) } // 运行闭包 f() }
Im obigen Beispiel f
函数是一个闭包,它捕获了变量 x
。当 f
被调用时,它打印 x
的值,即 10
.
Andere Beispiele:
Zählerabschluss: Erstellen Sie einen Schleifenzähler, der weiterzählt, auch nachdem die Abschlussfunktion zurückgekehrt ist.
func counter(start int) func() int { x := start return func() int { x++ return x } }
Cache-Schließung: Erstellen Sie Funktionen, deren Ergebnisse zwischengespeichert werden, um die Leistung zu verbessern.
func cachingCalc(expensiveComputation func(int) int) func(int) int { cache := make(map[int]int) return func(x int) int { if v, ok := cache[x]; ok { return v } v = expensiveComputation(x) cache[x] = v return v } }
Abschlüsse sind ein leistungsstarkes Tool in Go zum Erfassen von Variablen und zum Erstellen flexiblen und wiederverwendbaren Codes.
Das obige ist der detaillierte Inhalt vonSo erfassen Sie Variablen mithilfe des Golang-Funktionsabschlusses. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!