想到js的闭包, 试试golang的:
写法和js差不多, 不同的是golang是强类型的
func main() {
counter := func() (func() int) {
var i = 0 // 把i包起来, 保存了所返回的函数的上下文, i相当于私有变量了
return func() int {
i++
return i
}
}()
println(counter()) // 1
println(counter()) // 2
println(counter()) // 3
}
life
life