”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 为什么我的 Go 代码中会出现“prevclarifiedandnotused”错误?

为什么我的 Go 代码中会出现“prevclarifiedandnotused”错误?

发布于2024-11-08
浏览:969

Why am I getting the \

Go - 声明的变量名 prev 在给定函数作用域中未使用

在下面的代码片段中,错误消息“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