Go 1.16 正式发布,该版本主要包括支持 macOS ARM64、工具链优化、运行时和库的实现优化。并且,该版本保留了Go 1兼容性的承诺,几乎所有 Go 程序都能像以前一样继续编译和运行。 部分更新内容 Go 1.16 通过 GOOS=darwin,GOARCH=arm64 在macOS(也称为 Apple Silicon)上添加了对 64 位 ARM 架构的支持。与 darwin/amd64 一样,darwin/arm64 也支持 cgo、内部和外部链接、c-archive、c-shared 和 pie build 模式、竞争检测器 Go 现在在 NetBSD(netbsd/arm64)上支持 64 位 ARM 体系架构 Go 现在在 OpenBSD(openbsd/mips64)上支持 MIPS64 体系架构,但尚不支持 cgo 放弃了对 x87 模式编译(GO386=387)的支持。现在可以使用软浮点模式(GO386=softfloat)来支持非 SSE2 处理器 linux/riscv64 现在支持 cgo 和 -buildmode=pie GO111MODULE 环境变量现在默认为 on。可通过将 GO111MODULE 设置为 auto 切换回旧行为 go 命令现在支持使用新的 //go:embed 指令来将静态文件和文件树作为最终可执行文件的一部分包含在内 新的 runtime/metrics 包引入了一个稳定的接口,用于从 Go 运行时中读取实现定义的指标 现在将 GODEBUG 环境变量设置为 inittrace=1 会导致运行时为每个程序包 init 发出一行标准错误,总结其执行时间和内存分配 编译器现在可以内联具有未标记的循环、方法值和类型判断的函数 详细内容请查看更新公告。 (责任编辑:IT) |