關於go語言import出現異常的一些問題


最近開始關注go語言這一塊,感覺還是下手晚了。

按道理講,本來以為學習起來會比較順利,畢竟積累了一些其他語言的知識,但是沒有想到還是出現了一些奇奇怪怪的問題。

今天本來想嘗試一下go語言中公有和私有的方法,結果import其他包的時候直接報錯了,當時沒截圖,錯誤的大意就是在goroot中找不到這個包、在gopath中也找不到這個包... ...

找了N長時間,調到心態崩潰,最終反正能用了,后續有沒有問題還需要慢慢探索。

win10系統+vscode,有使用相同環境的小伙伴可以參考一下:

首先,你需要配置一個正確的gopath,這個東西貌似就是go語言的工作目錄,在磁盤上創建一個文件夾作為這個目錄,在目錄中創建文件夾src,這個src文件夾是用於存放源代碼的。

配置gopath的方式比較簡單,直接在環境變量中配置即可:

在‘此電腦’圖標上右鍵,點擊屬性。

 

 

 彈出的界面中點擊如圖所示的選項,然后點擊環境變量。在用戶變量中配置即可,就不截圖了,這一步應該比較好懂。

 

第二步,將go111module的屬性改為on:

在cmd窗口中輸入命令go env,可以查看一些go的屬性,比如gopath、goroot等等,其中go111module默認應該是空的(反正我默認是空的)。

配置的方法比較簡單:go env -w GO111MODULE=on 輸入這條命令即可。

 

第三步,創建go.mod文件,查了一下go.mod是golang的包管理工具,我是在gopath的src下創建的這個文件,創建方式比較簡單:

cmd進入該目錄,輸入go mod init word,此處的word是可以自定義的。

我輸入的是go mod init word,然后src下會生成一個名為go.mod的文件:

 

 里面就長這樣,很簡單。引入其他包的時候,采用test/包名的方式引入。

 

配置完以上三步之后,我的vscode依然報錯,上網查了一下,需要在settings.json中加入如下配置:

"gopls": {
        "experimentalWorkspaceModule": true
    }

做完以上四步后,發現依然報錯,由於使用了code runner插件運行代碼所導致,使用命令來運行則沒有問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM