go 闭包
看程序
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
12
这个就是闭包,格式为有一个函数,函数的返回值为函数类型,并且在闭包这个函数里面有一个匿名函数,在匿名函数外面一定要有一个变量,这个变量需要在匿名函数中使用,这样做的目的就是多次调用时,外面这个变量都不会被清除,会一直变化,直到不再调用这个闭包为止
posted on 2018-11-12 15:00 Cream.icend 阅读(183) 评论(0) 收藏 举报
浙公网安备 33010602011771号