在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    Go Modules介紹

    Go Modules介紹

    介紹

    Go modules是官方提供的go包管理工具,用于解決go包管理和依賴問題;從1.11開始引入,到現(xiàn)在1.14已經(jīng)比較完善,1.16已經(jīng)全面推薦使用,并且默認(rèn)為開啟;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

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

    go modules指令

  • go get
  • go get -u (沒有參數(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配置

    首先我們需要開啟go modules功能,然后配置代理;不配置代理會(huì)訪問國(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)擊沒下載的包,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é)假日休息