Go 博客

Go 1.18 发布了!

Go 团队
2022 年 3 月 15 日

今天,Go 团队很高兴发布 Go 1.18,您可以通过访问 下载页面 获取。

Go 1.18 是一个重大的发布,它包含了新功能、性能改进,以及我们有史以来对语言的最大改动。毫不夸张地说,Go 1.18 部分设计的初衷可以追溯到十多年前我们首次发布 Go 的时候。

泛型

在 Go 1.18 中,我们引入了对使用参数化类型的泛型代码的新支持。支持泛型一直是 Go 最常被请求的功能,我们很自豪能够提供大多数用户今天所需的泛型支持。后续版本将为一些更复杂的泛型用例提供额外的支持。我们鼓励您通过我们的泛型教程来了解这项新功能,并探索今天使用泛型来优化和简化代码的最佳方法。发布说明中提供了更多关于在 Go 1.18 中使用泛型的详细信息。

模糊测试

借助 Go 1.18,Go 成为第一个将模糊测试(fuzzing)完全集成到其标准工具链中的主流语言。与泛型一样,模糊测试也经过了长期的设计,我们很高兴在此次发布中将其与 Go 生态系统分享。请查看我们的模糊测试教程,帮助您开始使用这项新功能。

工作区

Go Modules 已被几乎普遍采用,Go 用户在我们的年度调查中报告了非常高的满意度。在我们的 2021 年用户调查中,用户识别出的与 Modules 相关的最常见挑战是跨多个 Modules 工作。在 Go 1.18 中,我们通过新的Go workspace 模式解决了这个问题,该模式可以轻松地处理多个 Modules。

性能提升 20%

Apple M1、ARM64 和 PowerPC64 用户欢呼吧!Go 1.18 包含了高达 20% 的 CPU 性能提升,这得益于 Go 1.17 的寄存器 ABI 调用约定扩展到了这些架构。为了强调这次发布的重大意义,20% 的性能提升是第四重要的头条新闻!

有关 1.18 中所有内容的更详细描述,请参阅发布说明

Go 1.18 是整个 Go 社区的一个巨大里程碑。我们要感谢每一位提交 bug、发送变更、撰写教程或以任何方式帮助 Go 1.18 成真的 Go 用户。没有你们,我们无法做到。谢谢。

尽情享受 Go 1.18!

下一篇文章:泛型简介
上一篇文章:宣布 Go 1.18 Beta 2
博客索引