go语言学习-笔记2
斐波那契数列 go 语言, 函数闭包实现
package main import "fmt" func fibonacci() func() int { cur := 1 next := 1 return func() int { ret := cur // 记录当前值 cur = next // 当前值移动到下一个 next += ret // 重新计算下一个 return ret // 返回移动前的当前值 } } func main() { f := fibonacci() for i := 0; i < 10; i++ { fmt.Println(f()) } }