go?mod文件內(nèi)容版本號簡單用法詳解
go版本
本文go版本是1.14,開啟 GO111MODULE="on"
經(jīng)常在go.mod里面看到引入第三方庫的版本號:
module test go 1.14 require github.com/jinzhu/copier v0.3.5 // indirect
可以看到copier版本使用的是v0.3.5的版本。
現(xiàn)在做個實驗,在go.mod里面寫上上面的代碼【是手動寫入,沒有下載】
我們假定main.go內(nèi)容如下:
package main
import "fmt"
func main() {
fmt.Println("test")
}
里面沒有使用到copier的庫,我們先run一下

可以看到代碼正常運行,但是它并沒有下載這個依賴包。
現(xiàn)在改一下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內(nèi)容改一下:
module yif go 1.14 require github.com/jinzhu/copier v0.3.4 // indirect
就是把版本號改為v0.3.4,其他不變,run一下

發(fā)現(xiàn)它下載了v0.3.4的版本了,再來看看pkg\mod\github.com\jinzhu目錄:

發(fā)現(xiàn)兩個都存在了。
所以go.mod的一個功能就是指定特定版本,讓項目組每個開發(fā)者使用同一個版本號進行開發(fā)
以上就是go mod文件內(nèi)容版本號簡單用法詳解的詳細內(nèi)容,更多關(guān)于go mod文件內(nèi)容版本號用法的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Go如何實現(xiàn)Websocket服務(wù)以及代理
這篇文章主要介紹了Go如何實現(xiàn)Websocket服務(wù)以及代理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04

