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

go中import包的大坑解決方案

 更新時(shí)間:2022年06月07日 15:53:30   作者:劍神卓不凡  
最近開始使用Go/GoLand 在import 自定義包時(shí)出現(xiàn)各種狀況,本文就介紹一下go中import包的大坑解決方案,具有一定的參考價(jià)值,感興趣 可以了解一下

最近開始使用Go/GoLand 在import 自定義包時(shí)出現(xiàn)各種狀況,措手不及,大概在網(wǎng)上找了解決方法,幾乎沒說的清楚的(可能是我個(gè)人理解力比較差哈哈)

個(gè)人喜好加上網(wǎng)上其他人給的解決方法實(shí)在是那個(gè)啥,所以 圖文方式解決問題 才能事半功倍。

windows環(huán)境下裝的Goland,Mac及其他linux系統(tǒng)參考,了解到本質(zhì)后 萬變不離其宗。

方案一:使用GOROOT和GOPATH

(以我本機(jī)為準(zhǔn)舉例講講各種方法)

  • GOROOT:就是Go的安裝目錄(C:\Go),(類似于java的JDK),里面有bin目錄(C:\Go\bin)
  • GOPATH: 是我們的工作空間,保存go項(xiàng)目代碼和第三方依賴包 (F:\Go)
  • GOPATH可以設(shè)置多個(gè),其中,第一個(gè)將會(huì)是默認(rèn)的包目錄,使用go get下載的包都會(huì)在第一個(gè)path中的src目錄     下,使用go install時(shí),在哪個(gè)GOPATH中找到了這個(gè)包,就會(huì)在哪個(gè)GOPATH下的bin目錄生成可執(zhí)行文件

 使用GOPATH時(shí),Go會(huì)在以下為目錄中搜索包:

  • GOROOT/src:Go標(biāo)準(zhǔn)庫
  • GOPATH/src:應(yīng)用自身代碼和第三方依賴的代碼

該方法對(duì)目錄架構(gòu)要求比較嚴(yán)格 例如我的 F:\Go\src\awesomeProject1, 即必須創(chuàng)建在 GOPATH/src

注意說明:sum1包內(nèi)的函數(shù)要大寫,這種方式是嚴(yán)格按照 GOROOT和GOPATH的方式,例如main包import  "awesomeProject1/sum1"

包就會(huì)在  $GOPATH/src(Go/src/awesomeProject1/sum1)路徑下找到。

方案二:使用go.mod    

通常大家不喜歡將代碼放在 $GOPATH/src 下面,此時(shí)import pkg 時(shí),就要用到go.mod

 從Go1.11版本之后,已經(jīng)不再推薦使用GOPATH來構(gòu)建應(yīng)用了。也就是說GOPATH被認(rèn)為時(shí)廢棄的垃圾的做法。

當(dāng)你開啟了GO111MODULE=on,仍然使用GOPATH模式的方法,在引入自定義模塊時(shí)會(huì)報(bào)錯(cuò)。

用Go modules創(chuàng)建出來的工程中會(huì)包含一個(gè)go.mod的文件,工程的位置/路徑隨便

 1. 設(shè)置環(huán)境變量     go env -w GO111MODULE=on      

2.   打上這個(gè)小 對(duì)勾。

3. 執(zhí)行 go mod init <module name> 。  <module name>非必填,不填的話就會(huì)采用項(xiàng)目文件的名稱。

到此這篇關(guān)于go中import包的大坑解決方案的文章就介紹到這了,更多相關(guān)go import包坑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go語言執(zhí)行cmd命令庫的方法實(shí)現(xiàn)

    Go語言執(zhí)行cmd命令庫的方法實(shí)現(xiàn)

    go語言用來執(zhí)行一個(gè)系統(tǒng)的命令相對(duì)python來說還是有點(diǎn)復(fù)雜的,執(zhí)行命令是一個(gè)非常常見的需求,本文主要介紹了Go語言執(zhí)行cmd命令庫的方法實(shí)現(xiàn),感興趣的可以了解一下
    2023-09-09
  • GO必知必會(huì)的常見面試題匯總

    GO必知必會(huì)的常見面試題匯總

    這篇文章主要為大家介紹了GO必知必會(huì)的常見面試題匯總
    2022-08-08
  • Go常用技能日志log包創(chuàng)建使用示例

    Go常用技能日志log包創(chuàng)建使用示例

    這篇文章主要為大家介紹了Go常用技能日志log包創(chuàng)建使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Golang使用pprof和trace進(jìn)行診斷和修復(fù)性能問題

    Golang使用pprof和trace進(jìn)行診斷和修復(fù)性能問題

    在?Go?中,開發(fā)人員可以使用強(qiáng)大的內(nèi)置工具來幫助診斷和修復(fù)性能問題,其中兩個(gè)工具是?pprof?和?trace?包,下面就跟隨小編一起來了解下如何使用pprof和trace進(jìn)行診斷和修復(fù)性能問題吧
    2024-01-01
  • golang?gorm錯(cuò)誤處理事務(wù)以及日志用法示例

    golang?gorm錯(cuò)誤處理事務(wù)以及日志用法示例

    這篇文章主要為大家介紹了golang?gorm錯(cuò)誤處理事務(wù)以及日志用法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • golang中beego入門

    golang中beego入門

    Beego是一個(gè)基于Go語言的開源框架,用于構(gòu)建Web應(yīng)用程序和API,本文主要介紹了golang中beego入門,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • GoLang中Json?Tag用法實(shí)例總結(jié)

    GoLang中Json?Tag用法實(shí)例總結(jié)

    這篇文章主要給大家介紹了關(guān)于GoLang中Json?Tag用法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-02-02
  • golang爬蟲colly?發(fā)送post請(qǐng)求

    golang爬蟲colly?發(fā)送post請(qǐng)求

    本文主要介紹了golang爬蟲colly?發(fā)送post請(qǐng)求實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • golang 在windows中設(shè)置環(huán)境變量的操作

    golang 在windows中設(shè)置環(huán)境變量的操作

    這篇文章主要介紹了golang 在windows中設(shè)置環(huán)境變量的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 更換GORM默認(rèn)SQLite驅(qū)動(dòng)出現(xiàn)的問題解決分析

    更換GORM默認(rèn)SQLite驅(qū)動(dòng)出現(xiàn)的問題解決分析

    這篇文章主要為大家介紹了更換GORM默認(rèn)SQLite驅(qū)動(dòng)出現(xiàn)的問題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01

最新評(píng)論