Go 快速入门指南 - 闭包
概述
闭包的概念参考 闭包 - 维基百科
。
例子
自增序列号生成器
package main
import "fmt"
// 自增序列号生成器
func incSeq() func() int {
i := 0
return func() int {
i++
return i
}
}
func main() {
next := incSeq()
fmt.Printf("初始值 = %d\n", next())
for i := 1; i <= 5; i++ {
fmt.Printf("第 %d 次迭代后, 值 = %d\n", i, next())
}
}
// $ go run main.go
// 输出如下
/**
初始值 = 1
第 1 次迭代后, 值 = 2
第 2 次迭代后, 值 = 3
第 3 次迭代后, 值 = 4
第 4 次迭代后, 值 = 5
第 5 次迭代后, 值 = 6
*/
联系我
本作品采用《CC 协议》,转载必须注明作者和本文链接