儘管程式碼有效,GoLand IDE 仍無法解析引用錯誤
JetBrains 的GoLand IDE 使用者有時會遇到以下程式碼的「未解析引用”錯誤訊息:編譯並運行正確。當引用有效且方法在附近定義時,這個問題尤其令人費解。
一個具體範例是以下程式碼:
package main import ( "fmt" ) type MyBoxItem struct { Name string } type MyBox struct { Items []MyBoxItem } func (box *MyBox) AddItem(item MyBoxItem) { box.Items = append(box.Items, item) } func main() { item1 := MyBoxItem{Name: "Test Item 1"} item2 := MyBoxItem{Name: "Test Item 2"} box := MyBox{} box.AddItem(item1) box.AddItem(item2) // checking the output fmt.Println(len(box.Items)) fmt.Println(box.Items) }
儘管在 MyBox 中正確實作了 AddItem 方法類型,GoLand 將 box.AddItem(item1) 和 box.AddItem(item2)標記為紅色,表示未解析的引用“AddItem。”
解決方案:
根據遇到類似問題的用戶的建議,使快取無效並重新啟動GoLand 可能會解決該錯誤。若要執行此操作:
在此操作後重新啟動 GoLand 應該可以消除受影響的「未解析的引用」錯誤 程式碼。已發現該解決方案在多種情況下均有效。
以上是為什麼 GoLand 顯示有效 Go 程式碼的「未解析的參考」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!