支持泛型的Go语言1.18发布

22-03-16 banq

今天,Go 团队很高兴发布 Go 1.18,Go 1.18是整个Go社区的一个巨大的里程碑。
Go 1.18 是一个大型版本,其中包括新功能、性能改进以及我们对该语言的最大更改。
毫不夸张地说,Go 1.18 的部分设计始于十多年前我们第一次发布 Go之时。
 

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

模糊处理
在 Go 1.18 中,Go 是第一个将模糊处理完全集成到其标准工具链中的主要语言。
与泛型一样,模糊处理在设计中已经存在了很长时间,我们很高兴能在这个版本中与 Go 生态系统分享它。
请查看我们的模糊处理教程,以帮助你开始使用这个新功能。
 

工作区
Go模块几乎已被普遍采用,Go用户在我们的年度调查中报告了非常高的满意度分数。在我们2021年的用户调查中,用户对模块最常见的挑战是跨多个模块工作。在Go 1.18中,我们通过新的Go工作区模式解决了这一问题,这使得在多个模块中工作变得简单。
 

20%的性能改进
苹果M1、ARM64和PowerPC64用户欢欣鼓舞! 由于 Go 1.17 的寄存器 ABI 调用约定扩展到这些架构,Go 1.18 包括 CPU 性能的改进,幅度高达 20%。为了强调这个版本有多大,20%的性能改进是第四个最重要的标题
 
关于1.18中所有内容的更详细描述,请查阅 release notes.。
 
您可以通过访问下载页面获取。

 

1