成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 后端
go moudules是Go的一個包管理工具,官方提供的,還是比較靠譜的,最低Go版本要求1.11+。可以理解為Python的虛擬環境,或者Java的maven,PHP的composer。

[[402347]]

前言

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

可以理解為Python的虛擬環境,或者Java的maven,PHP的composer。

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

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

配置(不用管)

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

根據上述命令,可以得到結論,在1.11+版本中,默認就是可以使用go modules的,不需要做其他設置。

它和傳統的直接go get區別在哪

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

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

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

開始使用

創建go.mod文件

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

開始使用

我創建了一個gomod-demo文件夾。

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

執行命令go mod init gomod-demo。

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

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

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

go.mod文件說明

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

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

簡單使用

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

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

需要執行此命令安裝此包。

執行下載命令。

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文檔如下。

執行下載命令 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) 

可能出現的異常

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

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

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

go mod所有命令

  1. 在當前文件夾下初始化一個新的 module,創建 go.mod 文件:go mod init name 
  2. 拉取缺少的模塊,移除不用的模塊:go mod tidy 
  3. 將依賴復制到 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 

總結

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

本文轉載自微信公眾號「Go語言進階學習」,可以通過以下二維碼關注。轉載本文請聯系Go語言進階學習公眾號。

 

責任編輯:武曉燕 來源: Go語言進階學習
相關推薦

2021-09-15 10:00:33

Go語言Modules

2020-12-16 08:07:28

語言基礎反射

2021-02-19 19:35:53

SVG 形狀元素

2020-12-20 09:59:13

Go語言基礎技術

2019-10-17 19:15:22

jQueryJavaScript前端

2021-03-02 18:35:27

SVG開發空間

2021-02-17 20:40:22

SVG圖像模式

2021-12-28 09:27:45

Javascript 高階函數前端

2020-11-13 08:14:28

JavaScript

2023-06-21 00:10:17

JSONWeb服務器JavaScript

2020-12-01 09:36:35

SVG元素屬性

2021-03-19 10:01:41

SVG畫多邊形Htm基礎

2021-02-24 10:14:04

PythonClassPython基礎

2020-12-10 08:20:27

Python微博評論

2021-12-30 10:28:30

Python 微博評論

2020-12-31 08:35:07

Python抖音瀏覽器

2021-02-27 10:20:18

Go語言flag包開發技術

2021-07-10 10:01:37

Python簡單函數

2021-03-17 09:59:26

Python函數調用

2024-04-11 12:57:55

Python函數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 女女百合av大片一区二区三区九县 | 国产精品精品久久久 | 九九热免费视频在线观看 | www.天天操| 超碰综合 | 成人在线观看免费 | 亚洲一二三区不卡 | 国产我和子的乱视频网站 | 精品久| 狠狠爱综合网 | 日韩在线一区二区 | 久久国产精品一区 | 日韩h | 日本a v在线播放 | 91久久国产综合久久 | 超碰免费在 | 精品视频久久久久久 | 91精品国产综合久久久久久丝袜 | 新疆少妇videos高潮 | 成人精品一区二区三区中文字幕 | 国产美女福利在线观看 | 久久综合久久久 | 欧美日韩1区2区3区 欧美久久一区 | 久久久精品日本 | 高清视频一区二区三区 | 在线视频日韩 | 狠狠骚 | 99亚洲精品 | 亚洲一区二区免费看 | 日韩一区二区三区在线播放 | 亚洲一区中文 | 欧美成人一区二区 | 国产精品一区二区三级 | 在线成人精品视频 | 鸳鸯谱在线观看高清 | 成人在线视频免费观看 | 久久久久久网站 | 欧美区在线 | 国产精品日韩欧美一区二区三区 | 精品乱码一区二区三四区 | 一级日韩 |