1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      gomodule詳解

      基礎(chǔ)知識

      環(huán)境準(zhǔn)備

      1. 使用golang 1.11以上版本的朋友,開啟 GO11MODULE=on ,并且確保實(shí)驗(yàn)?zāi)夸洸辉?GOPATH 中,命令行里執(zhí)行。
        export GO11MODULE=on
        export GO111MODULE=on
        2.golang 1.12和golang 1.13的朋友,確保實(shí)驗(yàn)?zāi)夸洸辉?GOPATH 中。
        3.加速下載,命令行里執(zhí)行。
        export GOPROXY=https://goproxy.io

        初始化go module環(huán)境

        帶git的項(xiàng)目

        10年積累的成都網(wǎng)站建設(shè)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有羅江免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

      2. 直接從github上面clone一個項(xiàng)目下來。
      3. 直接執(zhí)行 go mod init 會自動生成帶git地址的packagename
      4. 執(zhí)行命令:
        go mod init
        不帶git的項(xiàng)目
        直接執(zhí)行
        go mod init packagename
        下載依賴包
        go mod download
        拉取必須模塊,移除不用的模塊
        go mod tidy
        ps:
      5. go get、 go run、go build 也會自動下載依賴
      6. 如果tag對應(yīng)內(nèi)容有更新,需要刪除pkg中的緩存內(nèi)容;直接rm -rf *就可以了。
        添加新依賴包三種方式
        • 直接修改 go.mod 文件,然后執(zhí)行 go mod download
        • 使用 go get packagename@v0.0.0,會自動更新 go.mod 文件的
        • go run、go build 也會自動下載依賴
          將依賴包下載到vendor目錄
          go mod vendor

      功能介紹一
      使用replace本地包替換:
      基于國內(nèi)萬能的防火墻,就可能會用到這個功能

      main.go

      main.go
      
      package main
      import "packagepath/pkg"
      func main() {
          pkg.Hello()
      }

      go mod

      module go-mod
      
      require packagepath/pkg v0.0.0
      replace packagepath/pkg => ./pkg

      replace 可以文件夾,也可以是另外一個package

      module go-mod
      
      require packagepath/pkg v0.0.0
      replace packagepath/pkg v0.0.0 => github.com/packagepath/pkg v0.0.0

      ps:頂層依賴可替換但間接依賴不可替換

      功能介紹二 semver—Semantic Versioning
      semver 是 語義化版本(Semantic Versioning)規(guī)范 的一個實(shí)現(xiàn),目前是由 npm 的團(tuán)隊(duì)維護(hù),實(shí)現(xiàn)了版本和版本范圍的解析、計算、比較。

      main.go

      package main
      import (
          "fmt"
          v1 "github.com/e421083458/gomodtest_base"
          v2 "github.com/e421083458/gomodtest_base/v2"
      )
      func main(){
          v2.NewIntCollection("hello","sex")
          v1.NewIntCollection("hello")
          fmt.Println("hello");
      }

      go.mod

      module module_test
      
      require (
          github.com/e421083458/gomodtest_base v1.0.1
          github.com/e421083458/gomodtest_base/v2 v2.0.0
      )

      總結(jié):

      1. 一般情況,go mod init 和 go mod tidy 兩個命令就夠用了。
      2. 看$GOPATH/pkg/mod里面的文件就知道了,mod做了一件類似maven的事把所有包都打上了版本號;可以說這是 golang 邁向高大上語言的標(biāo)志。
        從此我們不再為多版本使用的困擾,也不再為IDE打開一個新項(xiàng)目后等待n分鐘的生成緩存犯愁。推薦大家丟掉vendor使用統(tǒng)一管理。
        3.semver 將版本信息綁定進(jìn)包名對于習(xí)慣了傳統(tǒng)包管理器方案的用戶來說顯得有些怪異,可能需要花上一些額外時間適應(yīng)。

      當(dāng)前標(biāo)題:gomodule詳解
      網(wǎng)頁URL:http://www.ef60e0e.cn/article/iidcgd.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        吉林省| 兴山县| 米林县| 玉龙| 靖远县| 桐城市| 自治县| 蓬安县| 察雅县| 四平市| 诸城市| 报价| 玛多县| 双辽市| 米泉市| 黄龙县| 巴彦淖尔市| 大洼县| 甘谷县| 禹州市| 霞浦县| 奉贤区| 西峡县| 临城县| 桦甸市| 唐河县| 新宁县| 平泉县| 阜城县| 仲巴县| 大丰市| 井冈山市| 赞皇县| 会宁县| 罗平县| 南汇区| 西丰县| 穆棱市| 油尖旺区| 监利县| 仙居县|