Go 博客

Go 1.8 发布

Chris Broadfoot
2017年2月16日

今天,Go 团队很高兴地宣布 Go 1.8 发布。您可以在 下载页面 获取它。标准库中进行了重大性能改进和更改。

Go 1.7 中为 64 位 x86 引入的编译器后端现已用于所有架构,并且这些架构应该会看到重大的 性能改进。例如,我们的基准程序所需的 CPU 时间在 32 位 ARM 系统上减少了 20-30%。此版本中 64 位 x86 系统也有一些适度的性能改进。编译器和链接器已变得更快。编译时间应该比 Go 1.7 提高约 15%。这方面仍有更多工作要做:预计未来版本中编译速度会更快。

垃圾回收暂停应该 明显缩短,通常低于 100 微秒,通常低至 10 微秒。

HTTP 服务器添加了对 HTTP/2 Push 的支持,允许服务器抢先向客户端发送响应。这对于通过消除往返行程来最大程度地减少网络延迟非常有用。HTTP 服务器还添加了对 优雅关闭 的支持,允许服务器通过仅在服务所有正在进行的请求后关闭来最大程度地减少停机时间。

上下文(在 Go 1.7 中添加到标准库中)提供了一种取消和超时机制。Go 1.8 添加 了对标准库更多部分中上下文的支持,包括 database/sqlnet 包以及 net/http 包中的 Server.Shutdown

现在使用 sort 包中新添加的 Slice 函数对切片进行排序变得更加简单。例如,要按其 Name 字段对结构体切片进行排序

sort.Slice(s, func(i, j int) bool { return s[i].Name < s[j].Name })

Go 1.8 包括更多新增功能、改进和修复。在 Go 1.8 发行说明 中查找完整的更改集,以及有关上面列出的改进的更多信息。

为了庆祝发布,世界各地的 Go 用户组本周将举办 发布派对。发布派对已成为 Go 社区的传统,因此,如果您错过了这次机会,请在 1.9 临近时留意。

感谢 200 多位贡献者帮助发布此版本。

下一篇文章:Go 2016 年调查结果
上一篇文章:参与 2016 年 Go 用户调查和公司问卷调查
博客索引