【发布时间】:2016-05-25 18:27:29
【问题描述】:
我是 Go 新手,在解决一个非常简单的问题时遇到了一些问题。我正在通过一些简单的问题集来学习,目前我正在尝试打印小于 1000 万的斐波那契数列。我的斐波那契函数很好,但我不确定如何将其值分配给一个变量,然后我可以在控制结构中使用该变量。例如:
package main
import "fmt"
func fib() func() int {
x, y := 0, 1
return func() int {
x, y = y, x+y
return x
}
}
func main() {
f := fib()
for f <= 10000000 {
fmt.Println(f())
}
}
我知道我在这里遗漏了一些简单的东西,但这不应该一直调用我的函数并抓取斐波那契数列中的下一个数字,直到该数字不大于或等于 1000 万?我收到一条错误消息,告诉我 func()(int 和 int)类型不匹配。我知道这很简单,我可能只是个白痴。 提前致谢。
【问题讨论】: