golang:关于GO Modules的理解和遇到的问题

 所属分类:php教程

 浏览:90次-  评论: 0次-  更新时间:2022-09-30
描述:更多教程资料进入php教程获得。 下面golang教程栏目给大家介绍关于GO Modules的理解和遇到的问题。 ...
更多教程资料进入php教程获得。 下面golang教程栏目给大家介绍关于GO Modules的理解和遇到的问题。

使用的go版本是1.16.5,代码编辑器是GoLang2020.3.4,是在window10上面做GO Modules测试

为何会有GOModules的出现

GOROOT是指go的安装路径,GOPATH是指go的项目路径,在没有GOModules之前用的是GOPATH,由于GOPATH存在很多问题,从而使用GOModules进行代替

GOPATH存在的问题

GOPATH模式下没有版本控制的概念,具有致命的缺陷,至少会造成以下问题的产生:
1.在执行go get的时候,你无法传达任何的版本信息的期望,也就是说你也无法知道自己当前更新的是哪一个版本,也无法通过指定来拉取自己所期望的具体版本
2.在运行 Go 应用程序的时候,你无法保证其它人与你所期望依赖的第三方库是相同的版本,也就是说在项目依赖库的管理上,你无法保证所有人的依赖版本都一致
3.你没办法处理v1,v2,v3,等等不同版本的引用问题,因为GOPATH模式下的导入路径都是一样的,都是github.com/foo/bar。
4.Go 语言官方从 Go1.11 起开始推进 Go modules(前身vgo),Go1.13 起不再推荐使用 GOPATH 的使用模式,Go modules 也渐趋稳定,因此新项目也没有必要继续使用GOPATH模式。

GOModules的出现解决了哪些问题

1.Go语言长久以来的依赖管理问题
2.“淘汰”现有的GOPATH的使用模式
3.统一社区中的其它的依赖管理工具(提供迁移功能)

GOModules和GOPATH的关系

一、设置一下项目路径
GO Modules的使用与遇到的问题与解决方式
二、打开编辑器,项目根目录运行以下命令

php入门到就业线上直播课:进入学习
API 文档、设计、调试、自动化测试一体化协作工具:点击使用

go mod init

GO Modules的使用与遇到的问题与解决方式

三、安装第三方依赖

GO Modules的使用与遇到的问题与解决方式

GO Modules的使用与遇到的问题与解决方式

GO Modules的使用与遇到的问题与解决方式

现在可以看出GOModules和GOPATH的关系了,”go get”命令会把第三方依赖包放在GOPATH路径下,GOModules在多人开发时为了使所有人的开发版本一致,做了版本控制,确保所有人使用的依赖都是一样的版本,我的理解是GOModules是GOPATH的一种升级版本

GO Modules的理解和遇到的问题解决方法

最后注意一点,我使用的编辑器是GOLang,GOModules会出现如下问题,出现这个问题说明第三方依赖包是成功下载安装的,主要是编辑器的原因造成
GO Modules的使用与遇到的问题与解决方式

以下是解决方法

GO Modules的使用与遇到的问题与解决方式

GO Modules的使用与遇到的问题与解决方式

以上就是关于GO Modules的理解和遇到的问题的详细内容,更多请关注zzsucai.com其它相关文章!

 标签: golang,
积分说明:注册即送10金币,每日签到可获得更多金币,成为VIP会员可免金币下载! 充值积分充值会员更多说明»

讨论这个素材(0)回答他人问题或分享使用心得奖励金币

〒_〒 居然一个评论都没有……

表情  文明上网,理性发言!