不使用递归,使用闭包
package main
import (
"fmt"
)
func main() {
var f = fab()
x := 0
y := 1
for i := 0; i < 10; i++ {
x, y = f(x, y)
fmt.Println(x)
}
}
func fab() func(a, b int) (int, int) {
var x int
var y int
return func(a, b int) (int, int) {
x = a + b
y = a
return x, y
}
}