Golang基礎 Go Modules的使用

2021-10-24 13:19:37 字數 1811 閱讀 3560

go module是go1.11版本之後官方推出的版本管理工具,並且從go1.13版本開始,go module將是go語言預設的依賴管理工具。從 go 1.11 開始,go 允許在 gopath/src 外的任何目錄下使用 go.mod 建立專案。在gopath/src中,為了相容性,go 命令仍然在舊的 gopath 模式下執行。

使用 go module 管理依賴後會在專案根目錄下生成兩個檔案go.mod和go.sum。

export go111module=on
1.13之後使用

go env -w go111module=on
export goproxy=
go1.13之後goproxy預設值為在國內是無法訪問的,所以十分建議大家設定goproxy,這裡我推薦使用goproxy.cn。

1.13之後使用

go env -w goproxy=,direct
go mod edit 編輯go.mod檔案

go mod graph 列印模組依賴圖

go mod init 初始化當前資料夾, 建立go.mod檔案

go mod tidy 增加缺少的module,刪除無用的module

go mod vendor 將依賴複製到vendor下

go mod verify 校驗依賴

go mod why 解釋為什麼需要依賴

目錄結構大致如下:

在國內訪問golang.org/x的各個包被牆,你可以在go.mod中使用replace替換成github上對應的庫。

例如:

replace (

將 gin 框架的版本回退到上個版本。這裡需要使用乙個命令檢視依賴的版本歷史。

go list -m -versions github.com/gin-gonic/gin
將會列出 gin 版本歷史

github.com/gin-gonic/gin v1.1.1 v1.1.2 v1.1.3 v1.1.4 v1.3.0
將版本更新到上個版本

go get github.com/gin-gonic/[email protected] // 只需要在依賴後面加上 @version 就可以了

go list -m all

看到了版本變化

github.com/gin-gonic/gin v1.1.4
或者可以使用 go mod 來進行版本的切換,這樣就需要兩個步驟了

go mod edit -require=

"github.com/gin-gonic/[email protected]" // 修改 go.mod 檔案

新專案1.在專案目錄下執行go mod init,生成乙個go.mod檔案。

2.執行go get,查詢並記錄當前專案的依賴,同時生成乙個go.sum記錄每個依賴庫的版本和雜湊值。

Golang學習 基礎

一 helloworld 首先是helloworld package main import fmt func main 編譯和執行 go buid hello.go hello 二 變數,常量 1.定義乙個變數 var a int var b int 10 c 10 等價於var c int 10...

golang基礎學習

golang語言基礎保留的關鍵字 1.golang語言的保留關鍵字 2.golang的基礎語法 package 3.golang的基礎語法 import import語法格式主要有兩種 如果乙個main匯入其他包,包將按順序依次匯入 如果匯入的包中依賴其他包 b包 會首先匯入b包,然後初始化b包中的...

golang基礎型別

1.變數 go使用關鍵字var定義變數,型別資訊放在變數名後面,初始化為零,如下 在函式內部還有一種更簡潔的 定義方式 變數賦值,兩個變數可直接交換 注意 函式內部定義的變數沒使用的話編譯器會報錯。declared and not used 2 常量 列舉iota,從0開始按行數自增,如果重新con...