日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
一篇文章教會(huì)你如何使用Go語言Modules

前言

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

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

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

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

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

配置(不用管)

  
 
 
 
  1. GO111MODULE=off # 不適用modules功能 
  2. GO111MODULE=off #使用molules功能,不會(huì)去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時(shí),我們直接go get下載的包,會(huì)默認(rèn)放在%GOPATH%/src目錄下。

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

并且會(huì)帶版本號(hào),基本徹底解決依賴問題。

開始使用

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

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

開始使用

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

并且CMD進(jìn)入此文件夾里面。

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

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

成功后,文件夾下會(huì)多了一個(gè)go.mod文件,代表成功。

我用Goland打開這個(gè)gomod-demo文件夾。

go.mod文件說明

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

當(dāng)然,這些基本我們不需要?jiǎng)樱际峭ㄟ^命令或者IDE修改的。

簡單使用

比如我需要使用一個(gè)xstrings 包。

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

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

執(zhí)行下載命令。

go.mod文件會(huì)自動(dòng)添加一個(gè)依賴包。

代碼:

  
 
 
 
  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 第三方包時(shí),goland無法導(dǎo)入,或者報(bào)錯(cuò),或者沒有Go Modules。

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

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

go mod所有命令

  
 
 
 
  1. 在當(dāng)前文件夾下初始化一個(gè)新的 module,創(chuàng)建 go.mod 文件:go mod init name 
  2. 拉取缺少的模塊,移除不用的模塊:go mod tidy 
  3. 將依賴復(fù)制到 vendor 下:go mod vendor 
  4. 下載依賴:go mod download 
  5. 檢驗(yàn)依賴: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ū)留言,我們看到會(huì)第一時(shí)間解決問題。

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


文章名稱:一篇文章教會(huì)你如何使用Go語言Modules
網(wǎng)站URL:http://www.5511xx.com/article/dpighcs.html