北京时间凌晨,Go 1.18 终于发布了。
Go 1.18 是一个大型版本,其中包括新功能、性能改进以及对该语言的最大更改。毫不夸张地说,Go 1.18 的部分设计始于十多年前第一次发布 Go 时。所以,Go1.18 原计划 2 月份发布,结果拖到了 3 月中旬。
具体来说,包含以下几大特性:
- 泛型
- 模糊测试(Fuzzing)
- 工作空间(Workspaces)
- 20% 性能提升:Apple M1、ARM64 和 PowerPC64 用户开心了!由于 Go 1.17 的寄存器 ABI 调用约定扩展到这些架构,Go 1.18 包括高达 20% 的 CPU 性能改进。
Go 1.18 对整个 Go 社区来说是一个巨大的里程碑。详细发布说明见:https://go.dev/doc/go1.18。
以下是之前写的关于 Go1.18 新特性的文章,大家可以挑自己感兴趣的看。
- Go1.18 快讯:Module 工作区模式,太棒了
- Go1.18 快讯:字符串 Clone 有什么用?
- Go1.18 快讯:废弃了这个 API
- Go1.18 快讯:新增的 Cut 函数太方便了
- Go泛型系列:Go1.18 类型约束那些事
- 学学 Go1.18 新 IP 包的设计思路
- 带你了解 Go 1.18 中的 any 关键字
- Go 1.18 中的自引用接口,代码看得懂吗?
- Go 1.18新特性前瞻:原生支持Fuzzing测试
- Go1.18 泛型的好、坏亦或丑?
- Go1.18 新特性:TryLock 是什么?需要它吗?
- Go 1.18 中的三个小功能
- 跟着 Go 作者掌握泛型
- Go 泛型简明入门教程
- Go 泛型包 slices 来了
- 泛型版 singleflight:Go 中如何防止缓存击穿?
大家可以愉快地玩耍了。不过泛型大家别乱用,真的需要才使用吧。Go 语言中文网 1.18 的下载已经准备好:https://studygolang.com/dl。