Ir fechamentos de função idioma
Ir fechamentos de função idioma
Vão funções anônimas de suporte ao idioma pode ser usado como encerramentos. função anônima é uma declaração "inline" ou expressão. função anônima superioridade que pode usar a variável dentro da função diretamente, sem ter que declarar.
O exemplo a seguir, criamos uma função getSequence (), retorna outra função. A finalidade desta função é aumentar em uma variável de fecho I, como segue:
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()) }
O código acima é executado como resultado de:
1 2 3 1 2