Go 1.18正式版本发布,添加泛型、模糊测试、CPU性能大改进

开发团队正式推出Go 1.18版本,官方提到,这是一个大型版本,其中包括了新功能、性能改进,以及语言功能变更,具体的更新有泛型、模糊测试和工作区等。

Go 1.18终于开始支持泛型,开发团队加入对参数化类别泛型程序代码的支持,官方提到,支持泛型一直是Go开发者最常要求的功能,而现在Go语言终于提供大多数用户需要的泛型,开发者可以使用泛型语法,来探索优化和简化程序代码的方法。官方也会持续更新泛型相关功能,后续版本还会对一些较复杂的通用使用案例,提供额外的支持。

Go 1.18还有另一个重大更新便是模糊测试,Go是第一个将模糊测试完全集成到标准工具链的主要语言,官方表示,跟泛型一样,他们也已经对模糊测试进行了很长时间的测试,终于在Go 1.18推出。模糊测试能够自动寻找可能导致程序崩溃的输入,其利用自动化测试,来增加程序代码覆盖(Code Coverage),发现可能被忽略的安全漏洞和bug。

Arm64和PPC64架构的CPU,在Go 1.18都获得大幅加速,官方解释,他们在Go 1.17时加入托管器ABI调用约定更新,而Go 1.18扩展了该功能支持,因此Apple M1、Arm64和PPC64的Go开发者,都能感受到高达20%的CPU性能改进。

被开发者大量采用的Go模块,在Go 1.18也获得更新,根据官方在2021年对用户的调查中,发现识别模块是用户跨模块工作时,所常遭遇的麻烦,因此在Go 1.18加入新的工作区模式,来简化多模块使用。

发表评论