admin管理员组文章数量:1030431
Go 1.6 相比 Go 1.5 有哪些值得注意的改动?
本系列旨在梳理 Go 的 release notes 与发展史,来更加深入地理解 Go 语言设计的思路。
/doc/go1.6
Go 1.6 值得关注的改动:
- 平台支持:新增了对
linux/mips64
、linux/mips64le
和android/386
的实验性支持;FreeBSD 默认 C 编译器改为 clang;linux/ppc64le
现支持 cgo 外部链接。 - Cgo 交互:明确了 Go 指针传递给 C 代码的规则并增加了运行时检查(可通过
GODEBUG=cgocheck=0
禁用);引入了与 Go 的complex
类型区分开的Cplexfloat
和Cplexdouble
类型。 - 编译器工具链:内部重写了语法分析器(parser);新增
-msan
标志用于集成 Clang MemorySanitizer;扩展了对c-shared
、shared
和 位置无关可执行文件(Position Independent Executable, PIE)等构建模式的支持;再次提醒-X
标志的旧语法将在 Go 1.7 中移除。 - HTTP/2 支持:
net/http
包为 HTTPS 请求自动启用了 HTTP/2 支持,无需修改代码;可通过Transport.TLSNextProto
(客户端)或Server.TLSNextProto
(服务端)禁用。 - 运行时:增加了对
map
并发误用的轻量级检测(检测到即崩溃);程序崩溃(panic)时默认仅打印当前 goroutine 的 堆栈(stack),可通过GOTRACEBACK=all
或debug.SetTraceback("all")
查看全部;Windows 下不再强制修改系统定时器精度;改变了-buildmode=c-archive/c-shared
模式下的信号处理行为。
Go 1.6 相比 Go 1.5 有哪些值得注意的改动?
本系列旨在梳理 Go 的 release notes 与发展史,来更加深入地理解 Go 语言设计的思路。
/doc/go1.6
Go 1.6 值得关注的改动:
- 平台支持:新增了对
linux/mips64
、linux/mips64le
和android/386
的实验性支持;FreeBSD 默认 C 编译器改为 clang;linux/ppc64le
现支持 cgo 外部链接。 - Cgo 交互:明确了 Go 指针传递给 C 代码的规则并增加了运行时检查(可通过
GODEBUG=cgocheck=0
禁用);引入了与 Go 的complex
类型区分开的Cplexfloat
和Cplexdouble
类型。 - 编译器工具链:内部重写了语法分析器(parser);新增
-msan
标志用于集成 Clang MemorySanitizer;扩展了对c-shared
、shared
和 位置无关可执行文件(Position Independent Executable, PIE)等构建模式的支持;再次提醒-X
标志的旧语法将在 Go 1.7 中移除。 - HTTP/2 支持:
net/http
包为 HTTPS 请求自动启用了 HTTP/2 支持,无需修改代码;可通过Transport.TLSNextProto
(客户端)或Server.TLSNextProto
(服务端)禁用。 - 运行时:增加了对
map
并发误用的轻量级检测(检测到即崩溃);程序崩溃(panic)时默认仅打印当前 goroutine 的 堆栈(stack),可通过GOTRACEBACK=all
或debug.SetTraceback("all")
查看全部;Windows 下不再强制修改系统定时器精度;改变了-buildmode=c-archive/c-shared
模式下的信号处理行为。
本文标签: Go 16 相比 Go 15 有哪些值得注意的改动
版权声明:本文标题:Go 1.6 相比 Go 1.5 有哪些值得注意的改动? 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1747650486a2198798.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论