成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 詳解Go module的介紹及使用

詳解Go module的介紹及使用

熱門標(biāo)簽:谷歌美發(fā)店地圖標(biāo)注 地圖區(qū)域圖標(biāo)注后導(dǎo)出 赤峰電銷 400開頭電話怎樣申請 官渡電銷外呼管理系統(tǒng)怎么收費 江蘇呼叫中心外呼系統(tǒng)有效果嗎 貴州電話智能外呼系統(tǒng) 杭州人工智能電銷機(jī)器人費用 利用地圖標(biāo)注位置

Go1.1.1版本發(fā)布(2018-08-24發(fā)布)已經(jīng)過去幾天,從官方的博客中看到,有兩個比較突出的特色,一個就是今天講的module,模塊概念。目前該功能還在試驗階段,有些地方還需要不斷的進(jìn)行完善。在官方正式宣布之前,打算不斷修正這種支持。到時候就可以移除對GOPATHgo get命令的支持。
如果你想現(xiàn)在想就試試這個新功能module,需要你將你的代碼倉庫放到GOPATH/src目錄之外。然后在那個目錄下創(chuàng)建一個go.mod文件,從文件樹中運行go命令。

主要概念介紹

module是一個相關(guān)Go包的集合,它是源代碼更替和版本控制的單元。模塊由源文件形成的go.mod文件的根目錄定義,包含go.mod文件的目錄也被稱為模塊根。moudles取代舊的的基于GOPATH方法來指定在工程中使用哪些源文件或?qū)氚?。模塊路徑是導(dǎo)入包的路徑前綴,go.mod文件定義模塊路徑,并且列出了在項目構(gòu)建過程中使用的特定版本。

go.mod文件

go.mod文件定義module路徑以及列出其他需要在build時引入的模塊的特定的版本。例如下面的例子中,go.mod聲明example.com/m路徑時module的根目錄,同時也聲明了module依賴特定版本的golang.org/x/textgopkg.in/yaml.v2。

module example.com/m

require (
  golang.org/x/text v0.3.0
  gopkg.in/yaml.v2 v2.1.0
)

go.mod文件還可以指定要替換和排除的版本,命令行會自動根據(jù)go.mod文件來維護(hù)需求聲明中的版本。如果想獲取更多的有關(guān)go.mod文件的介紹,可以使用命令go help go.mod。
go.mod文件用//注釋,而不用/**/。文件的每行都有一條指令,由一個動作加上參數(shù)組成。例如:

module my/thing
require other/thing 	v1.0.2
require new/thing 		v2.3.4
exclude old/thing 		v1.2.3
replace bad/thing 		v1.4.5 	=> good/thing v1.4.5

上面三個動詞require、exclude、replace分別表示:項目需要的依賴包及版本、排除某些包的特別版本、取代當(dāng)前項目中的某些依賴包。
相同動作的命令可以放到一個動詞+括號組成的結(jié)構(gòu)中,例如:

require (
  new/thing v2.3.4
  old/thing v1.2.3
)

其他命令的支持

舊的版本,構(gòu)建編譯命令go build中的參數(shù)沒有-mod參數(shù),最新的版本現(xiàn)在多了這個,用來對go.mod文件進(jìn)行更新或其他使用控制。形式如:go build -mod [mode],其中mode有以下幾種取值:readonly,releasevendor。當(dāng)執(zhí)行go build -mod=vendor的時候,會在生成可執(zhí)行文件的同時將項目的依賴包放到主模塊的vendor目錄下。
go get -m [packages]會將下載的依賴包放到GOPATH/pkg/mod目錄下,并且將依賴寫入到go.mod文件。go get -u=patch會更新主模塊下的所有依賴包。
如果遇到不熟悉的導(dǎo)入包,任何可以查找包含該引入包模塊的go命令,都會自動將該模塊的最新版本添加到go.mod文件中。同時也會添加缺失的模塊,以及刪除無用的module。例如:go build, go test或者go list命令。另外,有一個專門的命令go mod tidy,用來查看和添加缺失的module需求聲明以及移除不必要的。
go.mod文件是可讀,也是可編輯的。go命令行會自動更新go.mod文件來維持一個標(biāo)準(zhǔn)格式以及精確的引入聲明。

Go mod命令

Go mod提供了一系列操作modules的命令,記住,所有的go命令中現(xiàn)在已經(jīng)內(nèi)置了對module的支持,而不僅僅是go mod命令。例如使用go get時,會經(jīng)常自動在后臺添加、移除、升級、降級依賴包版本。
命令語法:go mod command> [arguments]。Go mod提供的命令有下面幾個,對于比較常用的命令進(jìn)行詳細(xì)說明。

download        //下載模塊到本地緩存,具體可以通過命令go env查看,其中環(huán)境變量GOCACHE就是緩存的地址,如果該文件夾的內(nèi)容太大,可以通過命令go clean -cache
edit          //從工具或腳本中編輯go.mod文件
graph          //打印模塊需求圖
init          //在當(dāng)前目錄下初始化新的模塊
tidy          //添加缺失的模塊以及移除無用的模塊
verify         //驗證依賴項是否達(dá)到預(yù)期的目的
why           //解釋為什么需要包或模塊

go mod download
用法:go mod download [-dir] [-json] [modules]。使用此命令來下載指定的模塊,模塊的格式可以根據(jù)主模塊依賴的形式或者path@version形式指定。如果沒有指定參數(shù),此命令會將主模塊下的所有依賴下載下來。
go mod download命令非常有用,主要用來預(yù)填充本地緩存或者計算Go模塊代理的回答。默認(rèn)情況下,下載錯誤會輸出到標(biāo)準(zhǔn)輸出,正常情況下沒有任何輸出。-json參數(shù)會以JSON的格式打印下載的模塊對象,對應(yīng)的Go對象結(jié)構(gòu)是這樣。

type Module struct {
  Path    string   //module path
  Version   string   //module version
  Error    string   //error loading module
  Info    string   //absolute path to cached .info file
  GoMod    string   //absolute path to cached .mod file
  Zip     string   //absolute path to cached .zip file
  Dir     string   //absolute path to cached source root directory
  Sum     string   //checksum for path, version (as in go.sum)
  GoModSum  string   //checksum for go.mod (as in go.sum)
}

go mod init
用法:go mod init [module]。此命令會在當(dāng)前目錄中初始化和創(chuàng)建一個新的go.mod文件,當(dāng)然你也可以手動創(chuàng)建一個go.mod文件,然后包含一些module聲明,這樣就比較麻煩。go mod init命令可以幫助我們自動創(chuàng)建,例如:

go mod init example.com/m

使用這條命令時,go.mod文件必須提前不能存在。初始化會根據(jù)引入包聲明來推測模塊的路徑或者如果你工程中之前已經(jīng)存在一些依賴包管理工具,例如godep,glide或者dep。那么go mod init同樣也會根據(jù)依賴包管理配置文件來推斷。
go mod tidy
默認(rèn)情況下,Go不會移除go.mod文件中的無用依賴。所以當(dāng)你的依賴中有些使用不到了,可以使用go mod tidy命令來清除它。
用法:go mod tidy [-v]它會添加缺失的模塊以及移除不需要的模塊。執(zhí)行后會生成go.sum文件(模塊下載條目)。添加參數(shù)-v,例如go mod tidy -v可以將執(zhí)行的信息,即移除的模塊打印到標(biāo)準(zhǔn)輸出。
go mod vendor
用法:go mod vendor [-v],此命令會將build階段需要的所有依賴包放到主模塊所在的vendor目錄中,并且測試所有主模塊的包。同理go mod vendor -v會將添加到vendor中的模塊打印到標(biāo)準(zhǔn)輸出。
go mod verify
用法:go mod verify。此命令會檢查當(dāng)前模塊的依賴是否已經(jīng)存儲在本地下載的源代碼緩存中,以及檢查自從下載下來是否有修改。如果所有的模塊都沒有修改,那么會打印all modules verified,否則會打印變化的內(nèi)容。

虛擬版本號

go.mod文件和go命令通常使用語義版本作為描述模塊版本的標(biāo)準(zhǔn)形式,這樣可以比較不同版本的先后順序。例如模塊的版本是v1.2.3,那么通過重新對版本號進(jìn)行標(biāo)簽處理,得到該版本的虛擬版本。形式如:v0.0.0-yyyymmddhhmmss-abcdefabcdef。其中時間是提交時的UTC時間,最后的后綴是提交的哈希值前綴。時間部分確保兩個虛擬版本號可以進(jìn)行比較,以確定兩者順序。
下面有三種形式的虛擬版本號:

  • vX.0.0-yyyymmddhhmmss-abcdefabcdef,這種情況適合用在在目標(biāo)版本提交之前 ,沒有更早的的版本。(這種形式本來是唯一的形式,所以一些老的go.mod文件使用這種形式)
  • vX.Y.Z-pre.0.yyyymmddhhmmss-abcdefabcdef,這種情況被用在當(dāng)目標(biāo)版本提交之前的最新版本提交是vX.Y.Z-pre
  • vX.Y.(Z+1)-0.yyyymmddhhmmss-abcdefabcdef,同理,這種情況是當(dāng)目標(biāo)版本提交之前的最新版本是vX.Y.Z。

虛擬版本的生成不需要你去手動操作,go命令會將接收的commit哈希值自動轉(zhuǎn)化為虛擬版本號。

環(huán)境變量——GO111MODULE

Go 1.11中module支持臨時環(huán)境變量——GO111MODULE,它可以設(shè)置以下三個值:off,on或者auto(默認(rèn))。

  1. 如果GO111MODULE=off,那么go命令行將不會使用新的module功能,相反的,它將會在vendor目錄下和GOPATH目錄中查找依賴包。也把這種模式叫GOPATH模式。
  2. 如果GO111MODULE=on,那么go命令行就會使用modules功能,而不會訪問GOPATH。也把這種模式稱作module-aware模式,這種模式下,GOPATH不再在build時扮演導(dǎo)入的角色,但是盡管如此,它還是承擔(dān)著存儲下載依賴包的角色。它會將依賴包放在GOPATH/pkg/mod目錄下。
  3. 如果GO111MODULE=auto,這種模式是默認(rèn)的模式,也就是說在你不設(shè)置的情況下,就是auto。這種情況下,go命令行會根據(jù)當(dāng)前目錄來決定是否啟用module功能。只有當(dāng)當(dāng)前目錄在GOPATH/src目錄之外而且當(dāng)前目錄包含go.mod文件或者其子目錄包含go.mod文件才會啟用。

具體使用步驟:

  • 首先將你的版本更新到最新的Go版本(>=1.11),如何更新版本可以自行百度。
  • 通過go命令行,進(jìn)入到你當(dāng)前的工程目錄下,在命令行設(shè)置臨時環(huán)境變量set GO111MODULE=on;
  • 執(zhí)行命令go mod init在當(dāng)前目錄下生成一個go.mod文件,執(zhí)行這條命令時,當(dāng)前目錄不能存在go.mod文件。
  • 如果之前生成過,要先刪除;如果你工程中存在一些不能確定版本的包,那么生成的go.mod文件可能就不完整,因此繼續(xù)執(zhí)行下面的命令;
  • 執(zhí)行go mod tidy命令,它會添加缺失的模塊以及移除不需要的模塊
  • 執(zhí)行后會生成go.sum文件(模塊下載條目)。添加參數(shù)-v,例如go mod tidy -v可以將執(zhí)行的信息,即刪除和添加的包打印到命令行;
  • 執(zhí)行命令go mod verify來檢查當(dāng)前模塊的依賴是否全部下載下來,是否下載下來被修改過。如果所有的模塊都沒有被修改過,那么執(zhí)行這條命令之后,會打印all modules verified。
  • 執(zhí)行命令go mod vendor生成vendor文件夾,該文件夾下將會放置你go.mod文件描述的依賴包,文件夾下同時還有一個文件modules.txt,它是你整個工程的所有模塊。在執(zhí)行這條命令之前,如果你工程之前有vendor目錄,應(yīng)該先進(jìn)行刪除。同理go mod vendor -v會將添加到vendor中的模塊打印出來;

總結(jié)

到此這篇關(guān)于詳解Go module的介紹及使用的文章就介紹到這了,更多相關(guān)Go module使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 使用go module導(dǎo)入本地包的方法教程詳解
  • go module使用本地包的方法示例
  • Django重裝mysql后啟動報錯:No module named ‘MySQLdb’的解決方法
  • 使用Go module和GoLand初始化一個Go項目的方法

標(biāo)簽:鷹潭 松原 宜春 河池 保定 武漢 黔西 泰安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Go module的介紹及使用》,本文關(guān)鍵詞  詳解,module,的,介紹,及,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解Go module的介紹及使用》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解Go module的介紹及使用的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    videos性欧美另类高清| 精品白丝av| 亚洲男人天堂九九视频| 国产精品jvid在线观看蜜臀| 最全影音av资源中文字幕在线| 欧美一级片在线观看| eeuss鲁一区二区三区| 不卡一本毛片| 精品午夜福利在线观看| 免费看污黄网站在线观看| 成人免费观看在线观看| 日韩精品影视| 欧美三日本三级少妇三99| 中文字幕一区二区三区人妻电影| 51精品视频一区二区三区| 性一交一乱一伦一色一情| 蜜桃视频m3u8在线观看| 一区二区精品国产| 国产999精品久久久| 国产主播一区二区三区四区| 免费99精品国产自在在线| 欧美日韩亚洲综合一区二区三区激情在线| 九九九久久久久久久| 91免费国产在线| 美女做暖暖视频免费在线观看全部网址91| 国产 日韩 亚洲 欧美| 欧美日韩午夜视频在线观看| 日韩av黄色在线| 久久久精品国产免大香伊| 欧美亚洲禁片免费| 国产伦精品一区二区三区四区视频| 午夜影院在线观看国产主播| 91禁在线看| 欧美成人亚洲成人日韩成人| 久久久久久久久久久久久久久久久久av| 日本久久久久久久久| 精品熟女一区二区三区| 精品国产区在线| 国产一区二区久久| 成人亚洲综合天堂| 亚洲精美色品网站| 国产精品久久久久久久免费| 国产精品丝袜一区| caoporn成人| 成人黄色777网| 2018av男人天堂| 国产精品尤物福利片在线观看| 丝袜诱惑制服诱惑色一区在线观看| 成人激情视屏| 日韩av免费在线观看| 天天综合视频在线观看| 国产经典中年夫妇盗摄| 国产 欧美 日本| 樱桃视频成人在线观看| 欧美激情一二三区| 久久伊伊香蕉| 97碰碰碰免费色视频| 欧美日韩精品在线观看| 国产乱色在线观看| 综合激情网...| 懂色av蜜臀av粉嫩av分享吧最新章节| 日韩久久一区二区| 青青草久久爱| 日韩av在线不卡| 欧美不卡1区2区3区| 91精东传媒理伦片在线观看| 依依成人综合网| 狠狠躁夜夜躁人人躁婷婷91| av网址在线观看免费| 欧美 国产 小说 另类| 久久高清视频免费| 日韩—二三区免费观看av| 国产91色在线免费| 免费视频一区二区三区在线观看| 日日日日人人人夜夜夜2017| 日本精品在线观看| 欧美丰满嫩嫩电影| 国产欧美一区二区三区视频在线观看| 欧美精品总汇| 少妇激情av一区二区| 国产真实乱对白精彩久久| av网站在线看| 国产免费黄色小视频| 涩涩视频在线观看| www.黄在线| 欧美性一区二区三区| 国产丝袜一区二区三区| 成人在线免费高清视频| 色网站免费观看| 国产精品激情自拍| 川上优的av在线一区二区| 成人黄页毛片网站| 免费成人午夜视频| 丰满圆润老女人hd| 超碰97免费观看| 久久婷婷国产| 国产成人综合自拍| 2023国产一二三区日本精品2022| 婷婷电影在线观看| 精品捆绑调教一区二区三区| 成人高清免费| 上原亚衣av一区二区三区| 波多野结衣与黑人| 国产精品视频一二| 四虎884aa成人精品最新| 性欧美1819sex性高清大胸| 在线一级成人| 欧美精品97| 中文字幕日本视频| 欧美俄罗斯乱妇| 日韩有码在线播放| 国产91色在线免费| 日韩中文字幕第一页| 超碰中文在线| 91精品国产乱码久久蜜臀| 国产精品毛片| 青柠在线影院观看日本| 奇米影视在线99精品| 大又大又粗又硬又爽少妇毛片| 熟妇人妻va精品中文字幕| 超碰在线一区| 宅男噜噜噜66国产日韩在线观看| 欧美一级久久久久久久久大| 热99精品视频| 亚洲精品色午夜无码专区日韩| 日韩视频永久免费| 91丨porny丨探花| 色94色欧美sute亚洲线路一ni| 亚洲精品看片| 迷人的保姆韩国| av中文字幕在线观看| 亚洲色图丝袜美腿| 水蜜桃一区二区| 亚洲免费观看高清在线观看| 刘玥91精选国产在线观看| 三级a性做爰视频| 奇米色一区二区三区四区| 一本色道久久亚洲综合精品蜜桃| 稀缺小u女呦精品呦| 精品国产一区二区精华| 91国拍精品国产粉嫩亚洲一区| 91丝袜美腿高跟国产极品老师| 国产wwwwwww| 日本精品一区二区三区在线观看视频| 成人免费黄色小视频| 日韩经典中文字幕在线观看| 亚洲天堂五月天| 欧美日韩国产小视频在线观看| 国产精品视频地址| 欧美专区福利在线| 久久婷婷国产麻豆91天堂| 久久精品一区二区三| 成a人片在线观看| 日韩精品一区二区三区四| www.激情.com| 97视频网站| 欧美理论电影在线观看| 国产人妻777人伦精品hd| 91精品一区二区三区四区| 在线看片中文字幕| 亚洲免费在线视频观看| 国产专区一区二区| www.神马久久| 韩国一区二区三区在线观看| 国产一区二区三区在线观看免费| 国产精品免费视频久久久| 亚洲男女视频在线观看| 在线观看视频网站你懂得| 超碰在线图片| 精品日本一线二线三线不卡| 久久久高清视频| 97影院手机在线观看| 亚洲品质自拍视频网站| 欧美人妖在线观看| 九色资源网91| 亚洲综合成人在线视频| 三级小视频在线观看| fc2人成共享视频在线观看| 亚洲专区在线| 国产一区二区三区四区五区3d| 欧美另类极品videosbest最新版本| 在线播放av片| 91免费视频观看| 亚洲美女主播视频免费观看| 国产精品无码久久久久成人app| 在线播放免费| 97视频在线播放| 99久久国产综合精品五月天喷水| 美女视频免费精品| 秋霞影视一区二区三区| 欧美大香线蕉线伊人久久国产精品| 美女精品在线| 婷婷激情成人| 午夜国产精品视频免费体验区| 久久久久久12| 欧美aaa在线观看| 三级男人添奶爽爽爽视频| 日批视频网站| 婷婷精品视频| 99免费精品在线| 精品国产乱码久久久久久久久| 熟年交尾五十路视频在线播放| 神马影院午夜我不卡影院| heyzo高清国产精品| 日批免费观看视频| 久久人人爽人人爽| 欧美日韩另类视频| 同性恋视频一区| 成人一区而且| 精品三级久久| 亚洲视频欧洲视频| 欧美日韩在线高清| 欧美成人在线网站| 亚洲区欧洲区| 狠狠干天天干| 日本三级网站在线观看| 超碰97在线播放| 国外男同性恋在线看| 国产夜色精品一区二区av| 污黄色在线观看| 免费成人毛片| 亚洲高清一区二| 国产精品伦理久久久久久| 男人添女人下部高潮视频在线观看| 91麻豆免费看片| 狠狠色丁香婷婷综合影院| 午夜免费福利网站| 在线观看中文av| 黄色国产在线观看| 可以在线观看的黄色网址| 日韩欧美另类一区二区| 色图欧美色图| 秘密基地免费观看完整版中文| 亚洲综合色激情五月| 性插视频在线观看| 先锋资源中文在线| 免费裸体视频网站| 国产av一区二区三区| 狠狠入ady亚洲精品经典电影| 国产精品国产精品国产| 中文字幕日韩高清在线| 亚洲国产精品久久人人爱潘金莲| 国产精品中文字幕亚洲欧美| 国产欧美一区二区三区久久人妖| 精品三区视频| 午夜激情小视频| 国产suv精品一区| 无人区在线高清完整免费版 一区二| 99a精品视频在线观看| 久久久视频免费观看| 日本韩国在线不卡| 国产av无码专区亚洲精品| 日本aⅴ精品一区二区三区| 波多野结衣家庭教师在线| 国产在线播放一区二区| freemovies性欧美| 国产a视频精品免费观看| 国产精品久久欧美久久一区| www.欧美日本韩国| av片在线观看网站| 四虎成人精品永久免费av| 久久久久久九九九| 一级毛片在线观| 成a人片在线观看| 国产亚洲成aⅴ人片在线观看| 天天干夜夜夜操| 99国产精品久久久久99打野战| 91日本在线观看| 91精品国产自产在线| 另类美女黄大片| 大型av综合网站| 亚洲国产精品t66y| 国产91精品高潮白浆喷水| 噜噜噜噜噜在线视频| 国产女人18水真多18精品一级做| 国产欧美精品在线观看| 天堂一区二区三区| 91在线精品一区二区三区| 欧美高清性xxxxhdvideosex| 国产十八熟妇av成人一区| 中文字幕免费精品一区高清| 亚洲精品日韩久久久| 激情五月激情综合| 国产视频第一页在线观看| 欧美精品免费看| 樱花草涩涩www在线播放| 国产精品免费91| 亚洲欧美天堂网| 国产精品1000部啪视频| 99这里只有精品视频| 亚洲精品午夜精品| 成人av在线资源网站| 91tv亚洲精品香蕉国产一区| 91精品视频免费在线观看| 国产极品一区二区三区| 国产女人在线观看| 视频免费1区二区三区| 午夜一区二区三区在线观看| www一区二区www免费| 女人公敌韩国| 欧美性片在线观看| 一区二区精品视频| 日本一本草久p| 国产成人精品视频在线观看| 欧美 国产 精品| 狠狠色噜噜狠狠色综合久| 青青青青久久精品国产一百度| **欧美日韩vr在线| 亚洲欧美清纯在线制服| 任你躁av一区二区三区| 亚洲av无码一区二区三区网址| 88国产精品欧美一区二区三区| 老鸭窝av在线| 欧美成人hd| 亚洲视频在线一区二区| 国产麻豆乱码精品一区二区三区| 亚洲美女在线视频| 天天精品视频| 日韩精品在线一区二区三区| 酒色婷婷桃色成人免费av网| 久久精品最新免费国产成人| 日韩一卡二卡在线观看| 日韩肉感妇bbwbbwbbw| 日本久久综合| 91高清视频在线免费观看| 夜夜嗨网站十八久久| 久久久久久久久久久视频| 日韩欧美精品综合|