Go 博客
Go 1.18 发布了!
今天,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
博客索引