Go 1.18 发布 —— 泛型、模糊测试、工作区和 20% 的性能提升
Go 团队
2022 年 3 月 15 日
今天,Go 团队非常兴奋地发布了 Go 1.18,你可以通过访问下载页面获取。
Go 1.18 是一个大规模的版本,包括新功能、性能改进,以及我们对该语言有史以来最大的改变。可以毫不夸张地说,Go 1.18 的部分设计始于十多年前我们首次发布 Go 时。
泛型#
在 Go 1.18 中,我们引入了对使用参数化类型的泛型代码的新支持。支持泛型一直是 Go 最常要求的功能,我们很自豪能够提供当今大多数用户所需的泛型支持。 后续版本将为一些更复杂的泛型使用案例提供额外支持。 我们鼓励您使用我们的 泛型教程 了解这一新功能,并探索使用泛型优化和简化代码的最佳方式。 发行说明 提供了有关在 Go 1.18 中使用泛型的更多详细信息。
Fuzzing#
使用 Go 1.18,Go 是第一个将 Fuzzing 完全集成到其标准工具链中的主要语言。和泛型一样,Fuzzing 在设计中已经存在了很长时间,我们很高兴在这次发布中与 Go 生态系统分享它。请查看我们的 Fuzzing 教程帮助您开始使用此新功能
Workspaces#
Go 模块几乎被普遍采用,Go 用户在我们的年度调查中报告的满意度得分非常高。在我们的 2021 年用户调查中,确定模块的用户最常见的挑战是跨多个模块工作。在 Go 1.18 中,我们通过一个新的工具 Go Workspace mode 解决了这个问题,它使得使用多个模块变得更加简单。
20% 的性能提升#
Apple M1, ARM64, 和 PowerPC64 用户欢欣鼓舞!Go 1.18 将 Go 1.17 的 ABI 寄存器调用约定扩展到这些体系结构,使得 CPU 性能提升了 20%。为了强调这个版本的发布变化有多大,20% 的性能提升就是第四个最重要的标题!
有关于 1.18 中所有内容更为详尽的描述,敬请参阅 发行通告.
Go 1.18 的发布 对整个 Go 社区来说无疑是一个巨大的里程碑。我们想要感谢每一位 Go 用户,是他们提交了错误,推动了改变,编写了教程,或者以任何一种方式来帮助 Go1.18 成为了现实。没有你们的付出就没有今天的 Go 1.18。谢谢。
尽情享受 Go 1.18 吧!
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
推荐文章: