在下面的程式碼片段中,錯誤訊息「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