4.go语言的语法糖,

1.语法糖

传入相同类型的可变长度的参数

会推断出value的类型

2.Module

     

    

 

 go Module是go相关包的集合,是go的依赖管理的工具,go.mod文件保存就是所有的依赖列表

使用go mod 管理项目,就不需要非得把项目放到GOPATH指定目录下,你可以在你磁盘的任何位置新建一个项目,包含go.mod文件的目录也被称为模块根,也就是说,go.mod 文件的出现定义了它所在的目录为一个模块。

 比如我们现在的go path路径为:

  而我们的项目所在的位置为:

 

 当我们的工程位置与go path不一致的时候如果引入一些其他的包 ,构建的时候就会出错

 

 这个时候就要使用go mod来管理依赖包

 使用命令 go mod init test来创建mod文件:

现在他只包含  mod文件的名字,go的版本号  还不包含我们的依赖库的版本号.

 然后使用构建命令构建项目  go build

 

此时增加sum文件,go.mod文件增加了依赖包及版本

  

此时项目就可以成功运行:

 

 

如何知道工程引用了哪些依赖呢 ? 使用go mod graph 命令打印出依赖

 go mod 管理的依赖还是存放在我们的go path下面的。

 将他删除过后,使用 go mod download命令可以将其下载回来

go mod tidy:把我们需要的依赖加进来,不需要的剔除

go mod verify: 验证依赖,

go mod why : 展示依赖关系

当我注释掉这段代码的时候,lru

 

 

把不需要的删掉

恢复代码:

依赖添加进去:

修改一个没有的版本,再验证它:

vendor是将工程的所有的依赖放到当前工程的vendor依赖下面去,这个相当于把我们的依赖和gopath独立开来,这样的问题就是会产生很多的冗余,他的使用场景是在Devops的时候,需要让Devops打包发布的时候,把依赖全部打包到vendor下面,而不需要再去拉取依赖,防止拉取依赖的时候出错而打包不成功。

 

如何往go.mod加依赖呢?  使用 go mod edit  -require 命令

格式化go.mod文件:

在依赖中排除某个版本使用 exclude命令:下载的时候就不会下载这个版本的依赖

删除这一行:dropexclude:

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时空恋旅人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值