Go Sprache Funktion Schließungen
Go Sprache Funktion Schließungen
Zum Sprachunterstützung anonyme Funktionen können als Verschlüsse verwendet werden. Anonymous-Funktion ist eine "Inline" Anweisung oder ein Ausdruck. Superiority anonyme Funktion, die die Variable innerhalb der Funktion direkt verwenden können, ohne zu erklären haben.
Im folgenden Beispiel haben wir eine Funktion getSequence () erstellen, gibt eine andere Funktion. Der Zweck dieser Funktion ist in einer Verschluss variable Erhöhung i, wie folgt:
package main import "fmt" func getSequence() func() int { i:=0 return func() int { i+=1 return i } } func main(){ /* nextNumber 为一个函数,函数 i 为 0 */ nextNumber := getSequence() /* 调用 nextNumber 函数,i 变量自增 1 并返回 */ fmt.Println(nextNumber()) fmt.Println(nextNumber()) fmt.Println(nextNumber()) /* 创建新的函数 nextNumber1,并查看结果 */ nextNumber1 := getSequence() fmt.Println(nextNumber1()) fmt.Println(nextNumber1()) }
Der obige Code wird als Ergebnis der Ausführung:
1 2 3 1 2