Go 1.18还没正式发布,目前只是发布RC版本,该版本将初步支持泛型,相关Bug修复,端口方面,Go 1.18引入新的GOAMD64环境变量,它在编译时选择 AMD64 架构的最小目标版本。更多详情可查看:https://tip.golang.org/doc/go1.18
Go 1.18 新特性
初步支持泛型
添加模糊测试支持,可自动查找导致程序崩溃或返回无效答案的输入
引入新的 Go workspace mode,此特性允许用户同时使用多个 Go 模块,这对大型项目来说是一个重要的用例
引入一个扩展go version -m
命令,它现在可以记录 compiler flags 等构建细节 。程序可以使用 debug.ReadBuildInfo 查询自己的构建细节 ,现在可以使用新的 debug/buildinfo 包从其他二进制文件中读取构建细节 。此功能旨在成为任何需要为 Go 二进制文件生成软件物料清单 (SBOM 的工具的基础。Go 1.17 曾添加了一个新的基于寄存器的调用约定,以加速 x86-64 系统上的 Go 代码。Go 1.18 将该功能扩展到 ARM64 和 PPC64,从而提高了 20% 的速度。