之前一直正常的項目,莫名其妙的 database/sql 包下的方法、結構體等等IDE都無法識別,出現一堆Unresolved reference錯誤提示,但包導入路徑可以正確定位,而且項目運行也正常,其他包都正常,另一個項目下同樣使用sql包也正常。
折騰半天都沒用,不想重建項目重裝IDE太麻煩,最后嘗試最簡單的升級到 golang 1.12.5 重啟Goland后就正常了,應該和版本沒有關系,重裝下golang就行,估計是Goland文件索引的問題,重裝golang后會重建索引就能正常識別了

import 正常,能正確識別路徑,但不能識別 database/sql 包中的任何方法、結構體等。。。但使用其他包卻都正常,奇怪

升級golang后IDE應該是重建了索引,現在就一切正常了
補充:Goland 導入自定義包問題解決
今天在學習Go的面向對象時,想測試Go中類屬性、方法的公私有問題,在另外定義一個包后,發現在main函數中無法導入。
在網上查了很多博客都沒能解決問題,目錄頁照著修改了 ,什么GOPATH也修改了,參照很多文章,他們的解決方法似乎都不太適合我。。。。
經過頭皮發麻,差點爆錘電腦后,終于綜合多篇文章解決問題!
這里介紹一下我自己的解決方法

1.設置中啟用“Enable Go Modules”
Setting中設置啟用go module(其他go path之類的無需設置,使用默認),路徑:Go——Go Modules,勾選Enable Go Modules
2.在項目跟目錄下執行go mod init
在編輯器左下方找到“Terminal”選項卡,進入后執行 go mod init命令

如圖,會提示正確的命令使用方法。根據我的情況執行如下命令:

這時候項目目錄中會創建go.mod文件

然后,我嘗試導入自定義包,發現問題并沒有解決。

并出現新的問題:

對該錯誤的解釋:開啟模塊支持后,并不能與$GOPATH共存,所以需要把項目從$GOPATH中移出即可
也就是說,開啟模塊支持后我們需要確認Project GOPATH 是空的,即將其中的項刪除。
3.確認并清除Project GOPATH


Global GOPATH 改不改、有沒有并沒什么影響。
說明:
Global GOPATH:環境變量中配置的GOPATH路徑
Project GOPATH:項目的GOPATH,最好不好設置Global GOPATH,因為這樣項目將會使用到所用配置到GOPATH的文件
返回編輯頁面,導入錯誤提示已經沒有了。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- Golang import本地包和導入問題相關詳解
- go語言入門環境搭建及GoLand安裝教程詳解
- 淺談goland導入自定義包時出錯(一招解決問題)