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中文网其他相关文章!