A Tour of Go---Exercise: Fibonacci closure

来源:互联网 发布:php开源oa办公系统 编辑:程序博客网 时间:2024/05/17 00:16

练习:斐波纳契闭包

https://tour.golang.org/moretypes/26

Implement a fibonacci function that returns a function (a closure) that returns successive fibonacci numbers (0, 1, 1, 2, 3, 5, ...).

实现一个 fibonacci 函数,返回一个函数(一个闭包)可以返回连续的斐波纳契数。

package mainimport "fmt"// fibonacci 函数会返回一个返回 int 的函数。func fibonacci() func() int {pre := -1sum := 1return func() int {pre, sum = sum, pre+sumreturn sum}}func main() {f := fibonacci()for i := 0; i < 10; i++ {fmt.Println(f())}}

0 0
原创粉丝点击