闭包

func TestCloser(t *testing.T) {
	x := func() func() {
		var i = 1
		return func() {
			i++
			log.Println("i = ", i)
		}
	}()
	x()
	x()
}

输出结果:

=== RUN   TestCloser
2022/04/10 21:42:09 2
2022/04/10 21:42:09 3
--- PASS: TestCloser (0.01s)

闭包持有外部变量i

最后更新于

这有帮助吗?