:::info 日期:2021 年 11 月 10 日
作者:Russ Cox, for the Go team
原文链接:https://go.dev/blog/12years :::

今天,我们庆祝 Go 开源发布的第十二届生日。我们有一个比赛,明年我们有很多期待。

博客上的最明显的变化是我们的新家园 go.dev,将所有 Go Web 站点整合到一个连贯的网站上的一部分。该整合的另一部分是用 pkg.go.dev 替换 godoc.org

2 月份,Go 1.16 发布添加了 macOS ARM64 支持,添加了文件系统接口嵌入式文件默认情况下启用了模块,以及各种改进和优化。

8 月,Go 1.17 发布添加了 Windows ARM64 支持,使 TLS 密码套件决定更轻松,更安全引入修剪的模块图形,使模块在大型项目中更高效,并添加了新的,更可读的构建约束语法。在引擎盖下,Go 1.17 还转换为基于寄存器的呼叫公约,用于 X86-64 的 Go 功能,提高 CPU 绑定应用程序的性能 5-15%。

在今年的过程中,我们发布了许多新教程,进入数据库指南开发模块的指南,以及 Go 模块参考。一个突出显示是“使用 Go 和 Gin 开发 RESTful API” 的新教程,其也可以使用 Google Cloud Shell 以交互式表单提供

我们在 IDE 方面忙碌,在 VS Code Go 中默认启用 gopls,并为 gopls 和 VS Code Go 提供了很多改进,包括由 Delve 提供的强大调试体验

我们还推出了 Go Fuzzing Beta并正式提出了添加泛型,这两者现在都预计会包含在 1.18 中。

继续适应“虚拟第一”,Go 团队在谷歌开源直播中举办了我们的第二届年度 Go 日。您可以在YouTube 上观看会谈:

继续进步

我们对迎来 Go 的第 13 年感到无比激动。下个月,我们将在 Gophercon 2021 进行两次会谈,以及来自 Go 社区的许多有才华的发言者。免费注册并标记您的日历!

  • “为什么以及如何使用 Go 泛型”,由 Robert Griesemer 和 Ian Lance Taylor 领导了这一新功能的设计和实现。

12月8日,上午11:00(美国东部)。

  • “使用调试适配器协议(DAP)调试代码,Suzy Mueller,和 Delve 一起显示如何使用 Vs Code Go 的高级调试功能。

下午3:20(美国东部)。

2 月份,Go 1.18 发布将扩展基于 NOR-X86 架构的新寄存器的呼叫约定,并带来戏剧性的性能改进。它将包括新的去模糊支持。它将是第一个包括支持泛型的版本。

泛型将是我们 2022 年的重点之一。Go 1.18 的初始版本只是一个开始。我们需要花时间使用泛型和学习什么有用和什么没用,因此我们可以编写最佳实践并决定应该添加到标准库和其他库中的内容。我们预计将进入 1.19(预计 2022 年 8 月),后来的发布将进一步完善泛型的设计和实施,以及将它们进一步集成到整体上的经验中。

2022 的另一个重点是供应链安全。我们一直在谈论依赖性问题。 Go 模块的设计提供可重复的,可验证的验证构建,但还有更多的工作要做。从 Go 1.18 开始,Go 命令将嵌入有关其构建配置的二进制文件中的更多信息,既可以更轻松地制作再现性,并帮助需要为 Go 二进制生成 SBOM 的项目。我们还开始在 Go 漏洞数据库和关联的工具上工作,以在程序的依赖项中报告漏洞。我们在这项工作中的目标之一是显着提高这种工具的信噪比:如果程序不使用易受攻击的功能,我们不想报告该工具。在 2022 年的过程中,我们计划将此作为独立工具可用,但也可以将其添加到现有的工具,包括 gopls 和 VS Code 以及pkg.go.dev。还有更多努力改善 Go 供应链安全姿势的其他方面。留在调整的详细信息。

总的来说,我们预计 2022 年就会成为最终的一年,我们将继续提供你期望的及时的发布和改进。

十分感谢

Go 远不止依赖于在 Google 的 Go 团队。感谢您的帮助,取得成功并加入我们这个冒险。我们希望你们都保持安全,祝你一切顺利。