Go里面斐波那契数列的简单实现。
我那会儿的教材是1,1起算,即f(0)=1,f(1)=1。Go的Exercise说明里面是0,1起算。既然是用Go写,索性就用它的定义吧,主要代码如下(Go的这个multiple result用起来是真方便):
1 func fibonacci() func() int { 2 F0, F1 := 0, 1 3 return func() int { 4 result := F0 5 F0, F1 = F1, F0 + F1 6 return result 7 } 8 }
有的人把result加进F0,F1的初始化,整体少一行代码。但是这个Exercise,是closure相关的内容,我就不把result提出去了。