欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談goland導(dǎo)入自定義包時出錯(一招解決問題)

 更新時間:2020年12月15日 09:44:33   作者:不愿透露姓名的菜鳥  
這篇文章主要介紹了淺談goland導(dǎo)入自定義包時出錯(一招解決問題),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

使用goland編寫go語言程序的時候,發(fā)現(xiàn)針對自定義的包無法引入。

如下圖所示:

具體錯誤也就是

main.go:13:2: cannot find package "grpool" in any of:

然后就各種在網(wǎng)上查找,大多數(shù)也都講得很不清楚,最后找到一個說的比較詳細的鏈接 //www.dbjr.com.cn/article/202148.htm。

但是這個鏈接也只是啟發(fā)了我。下面來圖形結(jié)合的方式講述我的方法。

(1)首先將之前定義的包和包下的文件移至到新定義的目錄src下,我的目錄結(jié)構(gòu)如下:

(2) 接下來在File->Settings下的Go下面可以看到GOROOT和GOPATH兩個。

GOROOT其實就是go語言安裝的所在目錄

GOPATH說實在的我也不知道是干啥的,反正在網(wǎng)上查的都是要設(shè)置設(shè)么GOPATH之類的。于是這個GOPATH就引起我的重視了。

當(dāng)然我們只想設(shè)置的這個包在這個工程下就可以了,那我們就直接點擊下面的一個加號,添加工程所在的路徑。如下圖所示:

最后都一切OK了。問題全部解決啦。

看到這你覺得很簡單,可以說這對初學(xué)者來說卻是花費了很大的力氣才解決的。

補充:在GoLand下使用go mod導(dǎo)入自定義包與第三方包時需清除Project GOPATH配置

1、在GoLand下使用go mod導(dǎo)入自定義包與第三方包

問題描述:在學(xué)習(xí)github的gokit微服務(wù)項目過程中,使用GoLand導(dǎo)入項目文件,但配置自定義包和第三方包時,雖能正常go get,且在./pkg/mod/github.com目錄下能找到對應(yīng)的下載文件,但仍無法import成功;報package xxx is not in GOROOT的錯誤;同時出現(xiàn) $GOPATH/go.mod exists but should not 的錯誤;go mod init提示outside GOPATH;

2、項目文件創(chuàng)建

在任意目錄(無需考慮GOPATH的)創(chuàng)建項目文件夾,并在該目錄下創(chuàng)建bin、pkg、src等三個子文件夾

將下載的項目代碼拷貝至src源代碼文件夾,或自行創(chuàng)建相應(yīng)的go文件

在*.go程序的import()代碼片段中將報紅的依賴項選中并點擊go get...,執(zhí)行下載安裝操作

在./pkg/mod/github.com文件夾中能查獲新下載的第三方軟件包,但是import時仍然報錯,如下圖所示

3、使用GoModules模式配置依賴項

在File->Setting->Go Modules設(shè)置項中,選中enable go modulse integration

打開GoLand的Terminal,在工程的根目錄路徑下輸入go mod init,以初始化項目并生成go.mod文件,此時將會出現(xiàn)如下錯誤:

上述報錯的原因是我們的項目文件不遵循GOPATH路徑,因此需要使用go mod init 項目目錄名進行初始化:

正常執(zhí)行上述指令后,工程根目錄下將出現(xiàn)go.mod文件

4、使用GoModules時出現(xiàn)的問題(需清除Project GOPATH配置)

在步驟2中成功創(chuàng)建了go.mod文件,但隨之而來的是另外一個錯誤,如下圖所示:

究其根本,原因是GOPATH與GoModules包管理模式不能并存,只能二選一,因此本例中選擇了GoModules模式,需要完善的操作如下圖所示:

在設(shè)置中將Project GOPATH內(nèi)的路徑配置清除,并使Global GOPATH保持為默認值,重新sync同步之后,即可成功導(dǎo)入第三方包

5、導(dǎo)入自定義包

在導(dǎo)入自定義包時,若直接使用package對應(yīng)的包名,則會報錯package xxx is not in GOROOT,如下圖所示:

為此,則需以根目錄開始到包所在目錄的路徑格式進行導(dǎo)入,示例如下:

6、正常創(chuàng)建并導(dǎo)入包后的目錄結(jié)構(gòu)

包含bin pkg src,把代碼存放或創(chuàng)建在src目錄下

在GoModule模式下,無需考慮項目文件夾是否在GOPATH中

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • go?goroutine實現(xiàn)素數(shù)統(tǒng)計的示例

    go?goroutine實現(xiàn)素數(shù)統(tǒng)計的示例

    這篇文章主要介紹了go?goroutine實現(xiàn)素數(shù)統(tǒng)計,本文通過示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 詳解 Go 語言中 Map 類型和 Slice 類型的傳遞

    詳解 Go 語言中 Map 類型和 Slice 類型的傳遞

    這篇文章主要介紹了詳解 Go 語言中 Map 類型和 Slice 類型的傳遞的相關(guān)資料,需要的朋友可以參考下
    2017-09-09
  • 使用go來操作redis的方法示例

    使用go來操作redis的方法示例

    今天小編就為大家分享一篇關(guān)于使用go來操作redis的方法示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Go?語言中運行?C程序?代碼?

    Go?語言中運行?C程序?代碼?

    這篇文章主要介紹了Go?語言中運行?C程序代碼,通過直接在?Go?代碼中寫入?C?程序運行,下面操作過程需要的小伙伴可以參考一下
    2022-03-03
  • Go并發(fā)編程中sync/errGroup的使用

    Go并發(fā)編程中sync/errGroup的使用

    本文主要介紹了Go并發(fā)編程中sync/errGroup的使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Golang?使用os?庫的?ReadFile()?讀文件最佳實踐

    Golang?使用os?庫的?ReadFile()?讀文件最佳實踐

    這篇文章主要介紹了Golang使用os庫的ReadFile()讀文件最佳實踐,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • golang的基礎(chǔ)語法和常用開發(fā)工具詳解

    golang的基礎(chǔ)語法和常用開發(fā)工具詳解

    這篇文章主要介紹了golang的基礎(chǔ)語法和常用開發(fā)工具,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Golang的命名規(guī)范及最佳實踐(推薦!)

    Golang的命名規(guī)范及最佳實踐(推薦!)

    這篇文章主要給大家介紹了關(guān)于Golang的命名規(guī)范及最佳實踐的相關(guān)資料,命名規(guī)則涉及變量、常量、全局函數(shù)、結(jié)構(gòu)、接口、方法等的命名,文中介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • 修改并編譯golang源碼的操作步驟

    修改并編譯golang源碼的操作步驟

    這篇文章主要介紹了修改并編譯golang源碼的操作步驟,本文給大家介紹的非常詳細,需要的朋友可以參考下
    2021-07-07
  • Go?time包AddDate使用解惑實例詳解

    Go?time包AddDate使用解惑實例詳解

    這篇文章主要為大家介紹了Go?time包AddDate使用解惑實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09

最新評論