首页 > 后端开发 > Golang > 正文

尽管变量初始化,为什么 Go 仍会抛出'prevelastedandnotused”错误?

Mary-Kate Olsen
发布: 2024-10-31 03:37:01
原创
927 人浏览过

Why Does Go Throw

Go - 错误:“prev 声明但未使用”,尽管变量初始化

在 Go 中,遇到错误“prev 声明但未使用”使用“当变量出现初始化时可能会令人费解。让我们看一个具体的案例:

<code class="go">package main

import "fmt"

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 < 10; i++ {
        fmt.Println(f())
    }
}</code>
登录后复制

问题在于 fibonacci() 中的内部匿名函数。该代码声明了一个变量 prev,该变量被后续的 := 赋值所遮蔽。这会创建一个未使用的新局部变量,从而触发“prevelastedandnotused”错误。

解决方案:

要解决此问题,请修改: = 赋值给=。这将 temp 的值分配给继承的 prev 变量:

<code class="go">prev = temp</code>
登录后复制

同样,下一行应该是:

<code class="go">curr = curr + prev</code>
登录后复制

这确保正确使用 prev 并解决错误.

以上是尽管变量初始化,为什么 Go 仍会抛出'prevelastedandnotused”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!