看程序闭包
package main import "fmt" func main() { f:=test2() fmt.Println(f()) fmt.Println(f()) } func test2() func() int { a := 10 return func() int { a++ return a } }
结果为:函数
11
12blog
这个就是闭包,格式为有一个函数,函数的返回值为函数类型,而且在闭包这个函数里面有一个匿名函数,在匿名函数外面必定要有一个变量,这个变量须要在匿名函数中使用,这样作的目的就是屡次调用时,外面这个变量都不会被清除,会一直变化,直到再也不调用这个闭包为止class