我是Go的新手,在解决一个非常简单的问题时遇到了一些问题。我正在通过一些简单的问题集来学习,目前我正在尝试打印小于1000万的斐波纳契数列。我的Fibonacci函数很好,但我不确定如何将其值赋给变量,然后我可以在控制结构中使用它。例如:
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())
}
}
我知道我在这里缺少一些简单的东西,但是这不应该继续调用我的函数并抓住Fibonacci序列中的下一个数字,直到该数字不大于或等于1000万?我收到一个错误,告诉我有不匹配的类型func()(int和int)。我知道这很简单,我可能只是个白痴。 提前谢谢。
答案 0 :(得分:1)
尝试调用函数:
for x := f(); x < 100; x = f() {
fmt.Println(x)
}