Latest web development tutorials

Go Sprache Funktion Schließungen

Go Sprache Funktion Schließungen

Go-Funktion Go - Funktion

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

Go-Funktion Go - Funktion