Go Modules 介紹
創(chuàng)新互聯(lián)建站是一家專業(yè)從事成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司。作為專業(yè)的建站公司,創(chuàng)新互聯(lián)建站依托的技術(shù)實力、以及多年的網(wǎng)站運營經(jīng)驗,為您提供專業(yè)的成都網(wǎng)站建設(shè)、全網(wǎng)營銷推廣及網(wǎng)站設(shè)計開發(fā)服務(wù)!
Modules是Go 1.11中新增的實驗性功能,基于vgo演變而來,是一個新型的包管理工具。
Go 1.11 之前的包管理工具都是基于PATH或者vendor目錄,并不能很好的解決不同版本依賴問題。Modules是在GOPATH之外一套新的包管理方式。使用Modules可以完全不依賴GOPATH。
注意:Go Modules 需要Go 1.11以上版本
使用指南
Example
1、在GOPATH之外創(chuàng)建一個目錄
$ mkdir -p /tmp/scratchpad/hello $ cd /tmp/scratchpad/hello
2、初始化Module
$ go mod init github.com/you/hello go: creating new go.mod: module github.com/you/hello
3、編輯hello.go
package main import ( "fmt" "rsc.io/quote" ) func main() { fmt.Println(quote.Hello()) }
4、編譯并運行
$ go build $ ./hello Hello, world.
注意: go build 會自動下載依賴包,而golang.org/x/...之類的包需要翻墻,可以添加GOPROXY環(huán)境變量設(shè)置代理:
export GOPROXY=https://goproxy.io
此時,go.mod文件會自動更新,它包含項目所需的依賴項和對應(yīng)版本號
$ cat go.mod module github.com/you/hello require rsc.io/quote v1.5.2
除了go.mod之外,go還維護一個名為go.sum的文件,其中包含特定模塊版本的預(yù)期哈希值:
cat go.sum golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c h2:qgOY6WgZOaTkIIMiVjBQcw93ERBE4m30iBm00nkL0i8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h2:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= rsc.io/quote v1.5.2 h2:w5fcysjrx7yqtD/aO+QwRjYZOKnaM9Uh3b40tElTs3Y= rsc.io/quote v1.5.2/go.mod h2:LzX7hefJvL54yjefDEDHNONDjII0t9xZLPXsUe+TKr0= rsc.io/sampler v1.3.0 h2:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= rsc.io/sampler v1.3.0/go.mod h2:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
go使用go.sum文件確保這些模塊的未來下載與第一次下載相同,以此確保項目所依賴的模塊不會出現(xiàn)意外更改。
go.mod和go.sum都應(yīng)檢入版本控制。
日常WorkFlow
典型的日常工作流程可能是:
根據(jù)需要在.go代碼中添加import語句
標(biāo)準(zhǔn)命令(如go build或go test)會根據(jù)需要自動添加新的依賴項(更新go.mod并下載新的依賴項)
需要特定版本的時候,可以使用go get指定特定版本如go get foo@v1.2.3, go get foo@master, go get foo@e3702bed2,或者直接編輯go.mod文件
常用的命令:
go list -m all 查看項目中所有直接和間接依賴關(guān)系
go mod tidy 清除未使用的依賴項,并添加其他所需依賴項
go mod vendor 將依賴復(fù)制到vendor目錄下
以上就是Go Modules使用詳解的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
本文題目:GoModules的使用方法
URL分享:http://www.rwnh.cn/article4/jsccoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷、網(wǎng)站改版、建站公司、網(wǎng)頁設(shè)計公司、企業(yè)建站、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)