您的位置:首页 > 编程语言 > Go语言

go语言Exercise: Fibonacci closure

2012-05-09 12:52 295 查看
Let's have some fun with functions.
Implement a
fibonacci
function that returns a function (a closure) that returns successive fibonacci numbers.
package main

import "fmt"

// fibonacci is a function that returns

// a function that returns an int.

func fibonacci() func() int {

pre := 0

now := 1

return func() int {

now = pre + now

pre = now - pre

return pre

}

}

func main() {

f := fibonacci()

for i := 0; i < 10; i++ {

fmt.Println(f())

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: