Go 中未使用的變數
在 Go 程式設計中,使用宣告的變數是至關重要的。如果您宣告的變數在程式碼範圍內未使用,則可能會出現編譯錯誤「宣告錯誤但未使用」。此錯誤並不表示任何陰影問題。
在給定的程式碼片段中:
package main import ( "fmt" ) func main() { var ( err error dto = make(map[string]interface{}) ) dto[`thing`], err = getThings() fmt.Println(dto[`thing`]) } func getThings() (string, error) { return `the thing`, nil }
由於未使用 err 變數而發生錯誤。儘管已聲明,但它僅在呼叫 getThings() 期間分配了一個值,並沒有進一步使用。
根據 Go 的常見問題解答,「未使用的變數的存在可能表示存在錯誤。」未使用的變數會減慢編譯和建置時間。因此,Go 需要利用所有宣告的變數。
要解決錯誤,請刪除err 變數宣告或將其分配給_:
package main import ( "fmt" ) func main() { var ( _ error dto = make(map[string]interface{}) ) dto[`thing`], _ = getThings() fmt.Println(dto[`thing`]) } func getThings() (string, error) { return `the thing`, nil }
或者,利用err 進行錯誤檢查:
package main import ( "fmt" ) func main() { var ( err error dto = make(map[string]interface{}) ) dto[`thing`], err = getThings() if err != nil { fmt.Println(err) return } fmt.Println(dto[`thing`]) } func getThings() (string, error) { return `the thing`, nil }
雖然允許有未使用的全域變數或函數參數,但必須利用函數作用域內宣告的變數來避免編譯時錯誤。
以上是為什麼 Go 會給出「err Declared and Notused」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!