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())
}
}

浙公网安备 33010602011771号