Latest web development tutorials

Ir fechamentos de função idioma

Ir fechamentos de função idioma

função Go função Go

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

função Go função Go