亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                Go Modules介紹

                Go Modules介紹

                介紹

                Go modules是官方提供的go包管理工具,用于解決go包管理和依賴問(wèn)題;從1.11開(kāi)始引入,到現(xiàn)在1.14已經(jīng)比較完善,1.16已經(jīng)全面推薦使用,并且默認(rèn)為開(kāi)啟;Go Modules類似于JS的NPM,Java的maven和gradle。

                • GO111MODULE=off: 不使用 modules 功能
                • GO111MODULE=on: 使用 modules 功能,不會(huì)去 GOPATH 下面查找依賴包
                • GO111MODULE=auto: Golang 自己檢測(cè)是不是使用 modules 功能
                • 計(jì)劃在 Go 1.17 中放棄對(duì) GOPATH將忽略 GO111MODULE,需要關(guān)注默認(rèn)下載目錄如何設(shè)置,此特性靜觀1.17版本發(fā)布

                關(guān)于go.mod

                go.mod是Go項(xiàng)目的依賴描述文件

                module hellogo 1.14require github.com/gogf/gf v1.15.3

              1. module是配置項(xiàng)目名稱
              2. go配置的是使用的golang版本
              3. require配置引用第三方依賴包路徑和版本,latest表示最新版本
              4. 配置完編譯成功后,生成go.sum依賴分析結(jié)果,里面會(huì)有當(dāng)前所有的依賴詳細(xì)信息;

                go modules指令

              5. go get
              6. go get -u (沒(méi)有參數(shù))下載、更新當(dāng)前包下 直接和間接的依賴的最新版本,并不會(huì)更新整個(gè)項(xiàng)目。go get -u ./…下載、更新當(dāng)前項(xiàng)根目錄下直接或間接的依賴的最新版本,但是會(huì)排除測(cè)試包的依賴;例如將v1.2.1更新為v2.0.1go get -u=patch ./…下載、更新當(dāng)前項(xiàng)目根目錄下直接或間接的依賴的大版本的最新小版本,例如,將v1.2.1更新為v1.2.5go get -u -t ./… 和go get -u ./…相似,但是會(huì)更新測(cè)試包的依賴go get -d 只執(zhí)行下載動(dòng)作,而不執(zhí)行安裝動(dòng)作;不再支持go get -m ,使用go get -d替代。

                2. go list

                go list -m all 列出當(dāng)前項(xiàng)目build時(shí)需要使用直接或間接依賴的版本。 go list -u -m all 不僅會(huì)列出當(dāng)前使用模塊的版本,還會(huì)列出當(dāng)前使用模塊的最新小版本和最新版本。

                3.go build ./… 構(gòu)建當(dāng)前項(xiàng)目

                4.go test ./… 執(zhí)行當(dāng)前項(xiàng)目的測(cè)試

                5.go mod

                go mod tidy 刪除不必要的依賴,添加OS, architecture, and build tags組合所需要的依賴。 go mod vendor 可選步驟,用于建立vendor文件夾,用于vendor機(jī)制的包管理go mod init 將go項(xiàng)目初始化成module-mode,使用go modules進(jìn)行依賴管理。go mod verify 校驗(yàn)go.sum記錄的依賴信息是否正確

                go modules需要注意的地方

                • 在項(xiàng)目目錄下生成go.mod
                • 項(xiàng)目中的包引用使用import “[module名稱]/[包所在文件在項(xiàng)目中的相對(duì)路徑]”

                Goland配置

                首先我們需要開(kāi)啟go modules功能,然后配置代理;不配置代理會(huì)訪問(wèn)國(guó)外地址,會(huì)很慢;建議使用以下三個(gè)地址:

                • https://goproxy.io
                • https://goproxy.cn
                • https://mirrors.aliyun.com/goproxy/

                項(xiàng)目結(jié)構(gòu):

                創(chuàng)建go.mod,內(nèi)容如下

                module hellogo 1.14require (github.com/gogf/gf v1.15.3)

                代碼內(nèi)容如下:

                package mainimport ( “fmt” “github.com/gogf/gf” “github.com/gogf/gf/crypto/gmd5”)func main(){ fmt.Println(“hello world!”) fmt.Println(gf.VERSION) fmt.Println(gmd5.EncryptString(“123456”))}

                第一次我們需要下載依賴包,可以選擇go.mod文件右鍵選擇Go Mod Tidy

                或者點(diǎn)擊沒(méi)下載的包,alt+enter鍵,選擇Sync packages of hello

                然后運(yùn)行程序看到運(yùn)行結(jié)果

                hello world!v1.15.3e10adc3949ba59abbe56e057f20f883e Process finished with exit code 0

                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月19日 21:13
                下一篇 2022年6月19日 21:13

                相關(guān)推薦

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息