golang 闭包
? 闭包 ?    2014-05-06 17:29:34    656    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 添加写作模式, 让你享受写作

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

656 人读过