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 发出一行标准错误,总结其执行时间和内存分配
- 编译器现在可以内联具有未标记的循环、方法值和类型判断的函数
详细内容请查看[更新公告](https://blog.golang.org/go1.16)。
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码`
- 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传