Go 1.2 正式发布

未匹配的标注

本文为官方 Go Blog 的中文翻译,详见 翻译说明

Andrew Gerrand
2013 年 12 月 1 日

我们很高兴宣布 Go 1.2 的发布, 这是 Go 编程程序的最新文档版本.

二进制发行版可以从 这里 下载, 或者如果你愿意可以 从源代码编译, 应该使用 releasego1.2 标签.

新版本发布于 5 月份 Go 1.1 发布将近七个月, 比 1.1 和 1.0 之间的14个月要短得多. 我们预计未来的主要版本之间会有类似的间隔时间.

Go 1.2 包括一些小的语言更改, 对语言实现和工具的一些改进, 一些性能的改进以及许多添加和 (向后兼容) 更改到标准库.

请阅读 发行说明 了解所有详细信息, 因为某些更改可能会影响现有程序的行为. 以下是该版本的重点内容.

新的 三点式切片语法 增加了指定容量和长度的功能. 这使程序员可以传递只能访问基础数组的有限部分的分片值, 该技术以前要求使用不安全的程序包.

工具链的主要新功能是可以计算和显示 测试覆盖率结果. 请参阅 go test 和 [cover工具](godoc.org/code.google.com/p/ go.tools/cmd/cover/) 文档以获取详细信息. 本周晚些时候, 我们将发布一篇文章, 详细讨论此新功能.

现在可以通过 抢先调度, 因为调度程序在输入函数时偶尔会被调用. 这样可以防止繁忙的 goroutine 饿死同一线程上的其他 goroutine.

增加默认的 goroutine 堆栈大小应该可以提高某些程序的性能. (旧的大小倾向于在性能关键的部分中引入昂贵的堆栈段切换.) 另一方面, 对 堆栈大小操作系统线程数应该防止行为不当的程序占用计算机的所有资源. (可以使用 runtime/debug 程序包 中的新功能来调整这些限制.)

最后, 在 对标准库的许多更改 中, 重大更改包括新的 encoding 程序包, 索引参数 (Printf格式字符串和一些 为了便于使用添加的内容) 到模板包.

作为版本的一部分, Go Playground 已更新为Go 1.2. 这也会影响使用 Playground 的服务, 例如 Go Tour 和此博客. 该更新还增加了在沙箱内使用线程和 os, netunsafe 软件包的功能, 使其更像真实的 Go 环境.

对于帮助使该版本成为可能的每个人, 从提交错误报告的许多用户到对核心做出 1600 多个更改的116(!)个贡献者: 您的帮助对于项目来说是无价的. 谢谢!

此文章是 Go Advent Calendar 中的第一篇, 从 12 月 1 日至 25 日 Gopher Academy 系列每天会发布一篇

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/go-blog/go12/65...

译文地址:https://learnku.com/docs/go-blog/go12/65...

上一篇 下一篇
Summer
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~