斐波那契数列 golang

不使用递归,使用闭包

package main

import (
	"fmt"
)

func main() {
	var f = fab()
	x := 0
	y := 1
	for i := 0; i < 10; i++ {
		x, y = f(x, y)
		fmt.Println(x)
	}
}

func fab() func(a, b int) (int, int) {
	var x int
	var y int
	return func(a, b int) (int, int) {
		x = a + b
		y = a
		return x, y
	}
}


版权声明:本文为David_Morgan原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。