大家好,我是程序员幽鬼。
刚刚,Go 发布了 Go1.18 Beta1 版本,Russ Cox 专门发布了一篇博文简单介绍:https://go.dev/blog/go1.18beta1,跟往常一样,可以通过以下方式安装试用。当然,也可以按你喜欢的方式安装。
Go1.18beta1
按计划,Go1.18 会在 2022 年 2 月份正式发布。Beta1 是第一个预览版本,官方期待大家进行试用、测试,反馈遇到的问题,毕竟这是 Go1 以来,语言层面改动最大的一次。
针对泛型,官方出了一个简明教程:https://go.dev/doc/tutorial/generics,go.dev/play 也可以试验泛型版本。
另外,interface{} 目前基本被替换为 any 了:https://github.com/golang/go/commit/2580d0e08d5e9f979b943758d3c49877fb2324cb
interface->any
除了泛型,Go1.18 还内置支持 Fuzz-Beta:https://go.dev/blog/fuzz-beta,以自动查找导致程序崩溃或返回无效输出的输入。
还有一个重大变更是新增了「工作区模式」,它允许同时使用多个 Go 模块,这是大型项目大概率需要用到的。
Go1.17 增加了一个新的基于寄存器的函数调用规约,以提升 x86-64 系统上的 Go 速度。Go 1.18 Beta 1 将该功能扩展到 ARM64 和 PPC64,速度提升了 20%。
关于 Go1.18 完整变更说明,可以查看发行说明:https://tip.golang.org/doc/go1.18。
本文转载自微信公众号「幽鬼」,可以通过以下二维码关注。转载本文请联系幽鬼公众号。