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

 更新时间:2022年10月20日 08:54:37   作者:蓝色记忆  
这篇文章主要为大家介绍了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文件内容版本号简单用法详解的详细内容,更多关于go mod文件内容版本号用法的资料请关注脚本之家其它相关文章!

相关文章

  • Golang远程调用框架RPC的具体使用

    Golang远程调用框架RPC的具体使用

    Remote Procedure Call (RPC) 是一种使用TCP协议从另一个系统调用应用程序功能执行的方法。Go有原生支持RPC服务器实现,本文通过简单实例介绍RPC的实现过程
    2022-12-12
  • golang读取yaml配置文件的示例代码

    golang读取yaml配置文件的示例代码

    在项目开发中,经常需要把一些配置文件常量提取到统一配置文件进行维护,go项目在开发中常常把需要维护的常量或者配置提取到yaml文件,所以本文主要来为大家介绍一下golang如何读取yaml配置文件吧
    2023-11-11
  • go获取协程(goroutine)号的实例

    go获取协程(goroutine)号的实例

    这篇文章主要介绍了go获取协程(goroutine)号的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • 一文带你了解Go语言中的I/O接口设计

    一文带你了解Go语言中的I/O接口设计

    I/O 操作在编程中扮演着至关重要的角色,它涉及程序与外部世界之间的数据交换,下面我们就来简单了解一下Go语言中的 I/O 接口设计吧
    2023-06-06
  • Golang限流库与漏桶和令牌桶的使用介绍

    Golang限流库与漏桶和令牌桶的使用介绍

    这篇文章主要介绍了golang限流库以及漏桶与令牌桶的实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-03-03
  • Golang标准库container/list的用法图文详解

    Golang标准库container/list的用法图文详解

    提到单向链表,大家应该是比较熟悉的了,这篇文章主要为大家详细介绍了Golang标准库container/list的用法相关知识,感兴趣的小伙伴可以了解下
    2024-01-01
  • 详解Golang中channel的实现

    详解Golang中channel的实现

    channel俗称管道,用于数据传递或数据共享,其本质是一个先进先出的队列,使用goroutine+channel进行数据通讯简单高效,同时也线程安全,本文就给大家讲讲Golang中channel的实现,需要的朋友可以参考下
    2023-09-09
  • Go语言题解LeetCode1266访问所有点的最小时间示例

    Go语言题解LeetCode1266访问所有点的最小时间示例

    这篇文章主要为大家介绍了Go语言题解LeetCode1266访问所有点的最小时间示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 从零封装Gin框架配置初始化全局变量

    从零封装Gin框架配置初始化全局变量

    这篇文章主要为大家介绍了从零封装Gin框架配置初始化全局变量,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • go 打包运行文件在windows,liunx运行

    go 打包运行文件在windows,liunx运行

    这篇文章主要介绍了go 打包运行文件在windows,liunx运行的相关资料,需要的朋友可以参考下
    2023-11-11

最新评论