av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

一篇文章教會你如何使用Go語言Modules

前言

go moudules是Go的一個包管理工具,官方提供的,還是比較靠譜的,最低Go版本要求1.11+。

響水ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

可以理解為Python的虛擬環(huán)境,或者Java的maven,PHP的composer。

其本質(zhì)解決的問題就是包管理混亂問題。

反正就是,用就完事了,只有好事,沒有壞事。

配置(不用管)

  
 
 
 
  1. GO111MODULE=off # 不適用modules功能 
  2. GO111MODULE=off #使用molules功能,不會去GOPATH下找依賴包, 1.11+版本默認(rèn)開啟 
  3. GO111MODULE=auto:Golang # Golang自己簡則是不是使用modules功能 

根據(jù)上述命令,可以得到結(jié)論,在1.11+版本中,默認(rèn)就是可以使用go modules的,不需要做其他設(shè)置。

它和傳統(tǒng)的直接go get區(qū)別在哪

沒有使用go modules時,我們直接go get下載的包,會默認(rèn)放在%GOPATH%/src目錄下。

啟用go modules后,包都會下載到%GOPATH%/pkg/mod文件夾中。

并且會帶版本號,基本徹底解決依賴問題。

開始使用

創(chuàng)建go.mod文件

go.mod文件相當(dāng)于requirement.txt文件,里面會放一些所需要的依賴包。

開始使用

我創(chuàng)建了一個gomod-demo文件夾。

并且CMD進入此文件夾里面。

執(zhí)行命令go mod init gomod-demo。

后面這個gomod-demo可以隨便寫,建議和文件夾名字一樣。

成功后,文件夾下會多了一個go.mod文件,代表成功。

我用Goland打開這個gomod-demo文件夾。

go.mod文件說明

  1. module:模塊名稱。
  2. require:依賴包列表以及版本。
  3. exclude:禁止依賴包列表(僅在當(dāng)前模塊為主模塊時生效)。
  4. replace:替換依賴包列表(僅在當(dāng)前模塊為主模塊時生效)。

當(dāng)然,這些基本我們不需要動,都是通過命令或者IDE修改的。

簡單使用

比如我需要使用一個xstrings 包。

github地址:https://github.com/huandu/xstrings。

需要執(zhí)行此命令安裝此包。

執(zhí)行下載命令。

go.mod文件會自動添加一個依賴包。

代碼:

  
 
 
 
  1. package main 
  2.  
  3. import ( 
  4.     "fmt" 
  5.     "github.com/huandu/xstrings" 
  6.  
  7. func main() { 
  8.     s := "heheh ADSL附近" 
  9.     center := xstrings.Count(s, "h") 
  10.     fmt.Println(center) 

go連接Mysql

github文檔如下。

執(zhí)行下載命令 go get -u github.com/go-sql-driver/mysql

go.mod文件如下。

代碼:

  
 
 
 
  1. package main 
  2.  
  3. import ( 
  4.     "database/sql" 
  5.     _ "github.com/go-sql-driver/mysql" 
  6.     "time" 
  7.  
  8. func main() { 
  9.     //s := "heheh ADSL附近" 
  10.     //center := xstrings.Count(s, "h") 
  11.     //fmt.Println(center) 
  12.     db, err := sql.Open("mysql", "user:password@/dbname") 
  13.     if err != nil { 
  14.         panic(err) 
  15.     // See "Important settings" section. 
  16.     db.SetConnMaxLifetime(time.Minute * 3) 
  17.     db.SetMaxOpenConns(10) 
  18.     db.SetMaxIdleConns(10) 

可能出現(xiàn)的異常

如果使用go get 第三方包時,goland無法導(dǎo)入,或者報錯,或者沒有Go Modules。

在項目目錄下,使用go mod download下載一下,基本可以解決問題,只要有Go Modules,就代表沒問題。

如果還是沒有Go Modules,在Goland中settings->Go->GoModules(vgo)

go mod所有命令

  
 
 
 
  1. 在當(dāng)前文件夾下初始化一個新的 module,創(chuàng)建 go.mod 文件:go mod init name 
  2. 拉取缺少的模塊,移除不用的模塊:go mod tidy 
  3. 將依賴復(fù)制到 vendor 下:go mod vendor 
  4. 下載依賴:go mod download 
  5. 檢驗依賴:go mod verify 
  6. 顯示模塊依賴圖:go mod graph 
  7. 解釋為什么需要依賴:go mod why 
  8. 編輯 go.mod 文件:go eidt 
  9. 查看命令列表:go mod 
  10. 查看命令幫助文檔:go help mod 

總結(jié)

上述我們學(xué)習(xí)了go mod的如何使用。如果在操作過程中有任務(wù)問題,記得下面討論區(qū)留言,我們看到會第一時間解決問題。

本文轉(zhuǎn)載自微信公眾號「Go語言進階學(xué)習(xí)」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系Go語言進階學(xué)習(xí)公眾號。


網(wǎng)頁題目:一篇文章教會你如何使用Go語言Modules
新聞來源:http://uogjgqi.cn/article/dpighcs.html

掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流