斐波那契函数中的错误:已声明但未使用的变量
Go 中提供的代码尝试使用闭包计算斐波那契数列。然而,编译器标记了一个错误:“prog.go:13: prevelastedandnotused.”
解释:
在内部闭包函数中,一个变量名为 prev 是使用 := 赋值运算符声明的。这会在当前作用域中创建一个新变量,但从未使用过它。要解决此问题,请将 := 替换为 =,将 temp 的值分配给继承的 prev 变量。
重写的代码:
<code class="go">curr := curr + prev prev = temp</code>
错误原因:
Go 中的 := 运算符在当前范围内创建一个新变量,而 = 则为现有变量赋值。使用 := 时,会创建一个新变量,并且旧变量会被有效隐藏,这意味着它不再使用。
注意:
仅当以下情况时才会出现此问题在内部闭包中声明 prev 变量。外部斐波那契函数中声明的 prev 变量使用正确。
以上是为什么斐波那契函数中的“prev”变量被标记为未使用?的详细内容。更多信息请关注PHP中文网其他相关文章!