美国时间 2022 年 3 月 15 日,Go 团队官宣 Go 1.18 正式发布!
Go 团队表示:Go 1.18 是一个包含大量新功能的版本,包括对语言本身做了有史以来最大的改变(泛型)、工具链的实现、运行时和库的更改,还改善了性能。毫不夸张地说,Go 1.18 的部分设计十多年前,在第一次发布 Go 时就开始了构思。
【Go 1.18 正式发布!】
文章图片
下面让我们来快速预览一下这些最新特性:
泛型(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/
推荐阅读
- 【第四十二期】米哈游后台golang开发面经
- golang 简单工厂模式
- golang|什么才是 TDD 的正确打开方式()
- 【第四十期】shopee-golang后台一面面经
- go excelize 批量写入数据到Excel
- 【Go进阶—基础特性】接口
- 拓端tecdat|拓端tecdat|R语言多变量广义正交GARCH(GO-GARCH)模型对股市高维波动率时间序列拟合预测
- Go语言|Go语言编程笔记1(Hello World)
- 【第三十八期】字节跳动后台开发二面凉经