美国工夫 2022 年 3 月 15 日,Go 团队官宣 Go 1.18 正式公布!
Go 团队示意:Go 1.18 是一个蕴含大量新性能的版本,包含对语言自身做了有史以来最大的扭转(泛型)、工具链的实现、运行时和库的更改,还改善了性能。毫不夸大地说,Go 1.18 的局部设计十多年前,在第一次公布 Go 时就开始了构思。
上面让咱们来疾速预览一下这些最新个性:
泛型(Generics)
Go 1.18 引入了对应用参数化类型的泛型代码的新反对。反对泛型是 Go 最常被要求增加的性能,后续版本将持续为一些更简单的泛型用例提供额定反对。
Go 激励用户应用泛型教程来理解这一新性能,并摸索应用泛型来优化和简化用户的代码的最佳办法。
泛型教程链接:https://go.dev/doc/tutorial/g…
在 Go 1.18 版本公布阐明中有更多应用泛型的细节。
含糊测试(Fuzzing)
随着 Go 1.18 版本的公布,Go 成为第一个将含糊测试齐全集成到其规范工具链中的次要语言。与泛型一样,含糊测试曾经设计了很长时间。
请联合 Fuzzing 教程开始应用此新性能。
含糊测试教程链接:https://go.dev/doc/tutorial/fuzz
工作区(Workspaces)
现在 Go 模块简直已被广泛采纳,在 Go 年度考察中, 用户表白了十分高的满意度。在 2021 年用户考察中,用户反馈 Go 模块最常见的挑战是跨多个模块工作。
在 Go 1.18 中,通过应用新的 Go 工作区模式解决了这个问题,这使得在多个模块中工作变得简略。
工作区教程链接: https://go.dev/doc/tutorial/w…
20% 的性能晋升
苹果 M1、ARM64 和 PowerPC64 用户必定会快乐!因为 Go 1.17 的寄存器 ABI 调用约定扩大到这些架构,Go 1.18 的 CPU 性能晋升幅度高达 20%。
为了强调这个版本的性能晋升幅度有多大,Go 甚至把 20% 的性能晋升作为第四个最重要的题目!
更多无关 Go 1.18 的具体内容阐明,请查看:https://go.dev/doc/go1.18
下载链接:https://go.dev/dl/