」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼我的 Go 程式碼中會出現「prevclarifiedandnotused」錯誤?

為什麼我的 Go 程式碼中會出現「prevclarifiedandnotused」錯誤?

發佈於2024-11-08
瀏覽:744

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