前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2021年2月18日 Go生态洞察:Go 1.16中的新模块变化

2021年2月18日 Go生态洞察:Go 1.16中的新模块变化

作者头像
猫头虎
发布2024-04-09 15:37:15
1010
发布2024-04-09 15:37:15
举报

2021年2月18日 Go生态洞察:Go 1.16中的新模块变化

🔍 摘要 大家好,猫头虎博主在此!今天我们要深入探讨的是Go 1.16版本中对模块进行的一系列重大更新。从模块默认启用到模块撤回功能的引入,这些更新都显著提升了Go语言的便利性和安全性。如果你是一位Go开发者,这些信息对你来说绝对是不容错过的精彩内容!🌟

🚀 引言 Go 1.16的发布带来了诸多值得关注的变化,尤其是在模块方面的更新。虽然发布说明对这些变化进行了简要介绍,但作为猫头虎博主,我将带大家更深入地了解其中的几项关键更新。

📚 正文

🧩 模块默认启用

Go命令现在默认在模块感知模式下构建包,即使没有go.mod文件也是如此。这是向所有项目中使用模块迈出的一大步。

代码语言:javascript
复制
// 示例代码:设置GO111MODULE环境变量
go env -w GO111MODULE=auto
🛠️ go.mod和go.sum的变化

以前,如果go命令发现go.modgo.sum中存在问题,如缺少require指令或缺少和,它会尝试自动修复这些问题。在Go 1.16中,如果发现go.modgo.sum中有问题,模块感知的命令会报告错误,而不是尝试自动修复。

代码语言:javascript
复制
// 示例代码:处理go.mod或go.sum问题
$ go build
example.go:3:8: no required module provides package golang.org/x/net/html; to add it:
    go get golang.org/x/net/html
$ go get golang.org/x/net/html
$ go build
🚀 特定版本的可执行文件安装

go install命令现在可以通过指定@version后缀来安装特定版本的可执行文件。

代码语言:javascript
复制
// 示例代码:安装特定版本的可执行文件
go install golang.org/x/tools/gopls@v0.6.5
📦 模块撤回

现在,模块作者可以通过在go.mod中使用retract指令来撤回模块版本。

代码语言:javascript
复制
// 示例代码:使用retract指令
retract v1.0.5
🔒 GOVCS控制版本控制工具

Go 1.16引入了一个新的配置变量GOVCS,允许用户指定允许使用特定版本控制工具的模块。

代码语言:javascript
复制
// 示例代码:设置GOVCS环境变量
GOVCS=github.com:git,evil.com:off,*:git|hg
📈 表格:Go 1.16模块更新要点

更新

描述

模块默认启用

提升项目构建流程的一致性

go.mod和go.sum的变化

减少自动修复,提高透明度

特定版本的可执行文件安装

精确控制依赖的版本

模块撤回

应对发布错误或安全问题

GOVCS控制

增强版本控制工具的安全性

🔗 总结 这篇文章已被猫头虎的Go生态洞察专栏收录,欲知更多精彩内容,请点击这里。今天我们讨论了Go 1.16中对模块进行的一系列更新,希望这对你的Go开发之旅有所助益。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2021年2月18日 Go生态洞察:Go 1.16中的新模块变化
    • 🧩 模块默认启用
      • 🛠️ go.mod和go.sum的变化
        • 🚀 特定版本的可执行文件安装
          • 📦 模块撤回
            • 🔒 GOVCS控制版本控制工具
              • 📈 表格:Go 1.16模块更新要点
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档