日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

go?mod文件內容版本號簡單用法詳解_Golang

作者:藍色記憶 ? 更新時間: 2022-11-28 編程語言

go版本

本文go版本是1.14,開啟 GO111MODULE="on"

經常在go.mod里面看到引入第三方庫的版本號:

module test
go 1.14
require github.com/jinzhu/copier v0.3.5 // indirect

可以看到copier版本使用的是v0.3.5的版本。

現在做個實驗,在go.mod里面寫上上面的代碼【是手動寫入,沒有下載】

我們假定main.go內容如下:

package main
import "fmt"
func main() {
	fmt.Println("test")
} 

里面沒有使用到copier的庫,我們先run一下

可以看到代碼正常運行,但是它并沒有下載這個依賴包。

現在改一下main.go的代碼,如下:

package main
import (
	"fmt"
	"github.com/jinzhu/copier"
)
type User struct {
	Name string
	Age  int
	QQ   string
}
type Employee struct {
	Name string
	Age  int
	Role string
}
func main() {
	user := User{Name: "dj999", Age: 18, QQ: "8888"}
	employee := Employee{Role: "xxx"}
	copier.Copy(&employee, &user)
	fmt.Printf("%#v\n", employee)
} 

直接運行go run main.go

可以看到它自動下載這個庫的指定版本了(go: downloading github.com/jinzhu/copier v0.3.5),并且代碼運行成功。

這個時候在pkg\mod\github.com\jinzhu下也有這個擴展庫的文件夾了

我們換一個場景:把go.mod內容改一下:

module yif
go 1.14
require github.com/jinzhu/copier v0.3.4 // indirect 

就是把版本號改為v0.3.4,其他不變,run一下

發現它下載了v0.3.4的版本了,再來看看pkg\mod\github.com\jinzhu目錄:

發現兩個都存在了。

所以go.mod的一個功能就是指定特定版本,讓項目組每個開發者使用同一個版本號進行開發

原文鏈接:https://juejin.cn/post/7156153679031042062

欄目分類
最近更新