Go指南中的练习:斐波纳契闭包

u013564276 ·
package main import "fmt" // fibonacci 函数会返回一个返回 int 的函数。 func fibonacci() func(int) map[int]int { arr := make(map[int]int) arr[0] = 0 arr[1] = 1 return func (num int) map[int]int{ for i := 2 ; i < num; i++{ arr[i] = arr[i-1] + arr[i-2] } return arr } } func main() { f := fibonacci() for i := 0; i < 10; i++ { fmt.Println(f(10)[i]) } }
#3
更多评论
不明白这个i是怎么作为参数传入fibonacci()或者里面的匿名函数里面的,楼主能解释下吗?
#1
i并没有当函数参数被使用,i只是用来控制调用fibonacci()的次数,也就是输出多少个斐波纳契数
#2