我爱编程

利用Golang的闭包实现斐波那契

2018-05-25  本文已影响0人  insanus
package main

import "fmt"

func main() {
    function := Fibonacci()
    for i := 1; i <= 5; i ++ {
        fmt.Println(function())
    }
}

func Fibonacci() func() int {
    f1 := 0
    f2 := 1
    return func() int {
        temp := f2
        f2 = f1 + f2
        f1 = temp
        return temp
    }
}
/*
output:
1
1
2
3
5
*/
上一篇 下一篇

猜你喜欢

热点阅读