golang函数闭包实现波费纳契数列

直接看代码:

package main

import "fmt"

func fibonacci(s1, s2 int) func() int {
fmt.Println("start with:", s1, s2)
left := s1
right := s2
return func() int {
nest := left + right
left = right
right = nest
return nest
}
}
func main() {
f := fibonacci(0, 1)
for i := 0; i < 10; i++ {
fmt.Println(f())
}
}

猜你喜欢

转载自www.cnblogs.com/cfc-blog/p/10391791.html