Go 1.12 正式版发布了,距离上个正式发布版 Go 1.11 已经过去半年。跟往常一样,Go 1.12 保持了 Go 1 的兼容性承诺,预期所有 Go 程序会像之前一样正常编译。
新版本的更新亮点有 TLS 1.3 的初步支持,模块支持的提升 (为成为 Go 1.13 默认模式做准备),支持 windows/arm
,以及提升 macOS & iOS 的前向兼容性。
其中,安全传输层协议 TLS 1.3 比起以往版本,废弃了有安全隐患的 3DES、RC4、AES-CBC 等加密组件和 SHA1、MD5 等哈希算法,带来了更高的性能和安全性。
此外,值得关注的 Go 1.12 的更新内容有:
-
新版在语言规范方面没做改动;
-
工具方面的一些变动,有:
-
Go 1.12 在 trace 工具加入了Mutator Utilization 图的支持,它可以方便发现 GC 性能受限的情况;
-
不再支持
go tool vet
; -
go tool tour
不再包含在主二进制发行版中,需要手动安装; -
Go 1.12 是最后个支持 binary-only packages 的发行版版本 等。
-
-
考虑 Go 1 兼容性的前提下,对标准库做了一系列的小改动和更新;
-
Runtime、平台相关方面的一些改进;
-
……
具体更新详情可查阅 Go 1.12 发布日志。