在线不卡日本ⅴ一区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)全面推薦使用,并且默認為開啟;Go Modules類似于JS的NPM,Java的maven和gradle。

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

    關于go.mod

    go.mod是Go項目的依賴描述文件

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

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

    go modules指令

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

    2. go list

    go list -m all 列出當前項目build時需要使用直接或間接依賴的版本。 go list -u -m all 不僅會列出當前使用模塊的版本,還會列出當前使用模塊的最新小版本和最新版本。

    3.go build ./… 構建當前項目

    4.go test ./… 執(zhí)行當前項目的測試

    5.go mod

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

    go modules需要注意的地方

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

    Goland配置

    首先我們需要開啟go modules功能,然后配置代理;不配置代理會訪問國外地址,會很慢;建議使用以下三個地址:

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

    項目結構:

    創(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

    或者點擊沒下載的包,alt+enter鍵,選擇Sync packages of hello

    然后運行程序看到運行結果

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

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

    相關推薦

    聯(lián)系我們

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