成人免费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-02-17 20:40:22

SVG圖像模式

2021-03-02 18:35:27

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| 国产国产精品 | 欧美日韩国产在线 | 国产欧美精品 | 午夜精品一区二区三区在线观看 | 一区二区三区 在线 | 一级特黄a大片 | 99热精品久久 | wwwxxx国产 | 91久久精品国产免费一区 | 亚洲精品视频免费看 | av一级久久| 中文字幕av亚洲精品一部二部 | 久久久久成人精品免费播放动漫 | 亚洲精品一区二区三区蜜桃久 | 草久久久 | 在线免费观看毛片 | 一区日韩 | 天天干夜夜操视频 | 亚洲久视频 | 96av麻豆蜜桃一区二区 | 欧美精品第一区 | 国产目拍亚洲精品99久久精品 | 中文字幕久久久 | 狠狠草视频 | www.色综合| 国产97人人超碰caoprom | av一区二区三区四区 | 午夜私人影院在线观看 | 精品久久久久久久久久久久久久 | 欧美日韩在线一区 | 久久综合久久自在自线精品自 | 欧美精品1区 | 国产女人与拘做受视频 | 国产在线精品一区二区 | 久久久久久高清 | 国产在线a | 正在播放一区二区 | 免费激情网站 | 日韩中文一区二区三区 | 国产精品毛片一区二区在线看 |