刚开始学golang,自己利用闭包实现了一个复杂的一的斐波那契数列
package main
import "fmt"
// 返回一个“返回int的函数”
func fibonacci() func() int{
bac := 1
pre := 0
sum := 0
flag := 0
return func() int{
if flag == 0{
flag = 1
return 0
}else{
sum = bac + pre
pre = bac
bac = sum
return sum
}
}
}
func main() {
f := fibonacci()
for i := 0; i < 10; i++ {
fmt.Println(f())
}
}