如何将函数返回的 int 赋值给变量?
How to assign an int returned by a function to a variable?
我是 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())
}
}
我知道我在这里遗漏了一些简单的东西,但这不应该继续调用我的函数并获取斐波那契数列中的下一个数字,直到该数字不大于或等于 1000 万吗?我收到一条错误消息,告诉我存在不匹配的类型 func()(int 和 int)。我知道这很简单,我可能只是个白痴。
提前致谢。
尝试调用函数:
for x := f(); x < 100; x = f() {
fmt.Println(x)
}
我是 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())
}
}
我知道我在这里遗漏了一些简单的东西,但这不应该继续调用我的函数并获取斐波那契数列中的下一个数字,直到该数字不大于或等于 1000 万吗?我收到一条错误消息,告诉我存在不匹配的类型 func()(int 和 int)。我知道这很简单,我可能只是个白痴。 提前致谢。
尝试调用函数:
for x := f(); x < 100; x = f() {
fmt.Println(x)
}