golang 闭包
闭包    2014-05-06 17:29:34    295    0    0
life   闭包

想到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
}

上一篇: leanote 添加写作模式, 让你享受写作

下一篇: 不断完善, 不断进步-追求极致

295 人读过
立即登录, 发表评论.
没有帐号? 立即注册
0 条评论