golang初学之 斐波纳契闭包
package main
import "fmt"
// fibonacci 函数会返回一个返回 int 的函数。
func fibonacci() func() int {
a , b:= 0, 1
return func() int {
defer func() {
a, b = b, a+b
}()
return a
}
}
func main() {
f := fibonacci()
for i := 0; i < 10; i++ {
fmt.Println(f())
}
}
浙公网安备 33010602011771号