在下面的代码片段中,错误消息“prog.go:13: prev statements and not显示已使用”。
package main
import "fmt"
// fibonacci is a function that returns
// a function that returns an int.
func fibonacci() func() int {
prev := 0
curr := 1
return func() int {
temp := curr
curr := curr prev
prev := temp
return curr
}
}
func main() {
f := fibonacci()
for i := 0; i 发生错误的原因是在函数 fibonacci 中声明了变量 prev,但从未使用过它。具体来说,行 prev := temp 创建一个名为 prev 的新局部变量。该变量与外部作用域中声明的 prev 变量不同。要修复该错误,我们需要修改代码以使用外部作用域中的 prev 变量,而不是创建新的局部变量。
以下是更正后的代码:
package main
import "fmt"
// fibonacci is a function that returns
// a function that returns an int.
func fibonacci() func() int {
prev := 0
curr := 1
return func() int {
temp := curr
curr = curr prev
prev = temp
return curr
}
}
func main() {
f := fibonacci()
for i := 0; i
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3