登录
首页 >  Golang >  Go教程

go mod文件内容版本号简单用法详解

来源:脚本之家

时间:2022-12-22 21:53:45 483浏览 收藏

本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《go mod文件内容版本号简单用法详解》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~

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的一个功能就是指定特定版本,让项目组每个开发者使用同一个版本号进行开发

今天关于《go mod文件内容版本号简单用法详解》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于golang的内容请关注golang学习网公众号!

声明:本文转载于:脚本之家 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表