首頁  >  文章  >  後端開發  >  為什麼斐波那契函數中的“prev”變數被標記為未使用?

為什麼斐波那契函數中的“prev”變數被標記為未使用?

Linda Hamilton
Linda Hamilton原創
2024-10-31 21:33:02901瀏覽

Why is the `prev` variable flagged as unused in the Fibonacci function?

斐波那契函數中的錯誤:已宣告但未使用的變數

Go 中提供的程式碼嘗試使用閉包計算斐波那契數列。然而,編譯器標記了一個錯誤:「prog.go:13: prevelastedandnotused.」

解釋:

在內部閉包函數中,一個變數名為prev 是使用:= 賦值運算子聲明的。這會在目前作用域中建立一個新變量,但從未使用過它。若要解決此問題,請將 := 替換為 =,將 temp 的值指派給繼承的 prev 變數。

重寫的程式碼:

<code class="go">curr := curr + prev
prev = temp</code>

錯誤原因:

Go 中的:= 運算子在目前範圍內建立一個新變量,而= 則為現有變數賦值。使用 := 時,會建立一個新變量,並且舊變數會被有效隱藏,這意味著它不再使用。

注意:

僅當以下情況時才會出現此問題在內部閉包中聲明 prev 變數。外部斐波那契函數中聲明的 prev 變數使用正確。

以上是為什麼斐波那契函數中的“prev”變數被標記為未使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn