Go 1.2 发布,稳定性提升

  • Jeff Martin
  • 刘君

2013 年 12 月 9 日

话题:GoogleDevOps语言 & 开发

近日,开源编程语言 Go 发布了1.2 版,该版本作了语言修订,工具改进和标准库更新等一系列变化。Go源于Google 的一个研究性项目,而今被用于各类公司和项目开发。继五月份发布 1.1 版本以来,时隔 7 个月后的新版本标志着 Go 语言的成熟。

一如先前报道,1.2 版的两个主要变化表现在空值处理和数组切片。空值处理方面,与先前内存存取行为固有的潜在不安全性相比,如今能保证只在有限的几类特定情境中发生运行时崩溃。数组切片新增了像指定大小一样提前指定切片容量的功能。切片方面的变化对现存代码几近无影响,但空值方面变化意味着 Go 1.2 兴许能找到需要人工更正的容错代码。

为减轻同一线程中协程间发生的饥饿现象,协程提供了调度时抢占功能。协程栈的最小容量被增加到 8KB,最大容量现在也能配置。默认情况下,64 位系统的最大容量是 1GB,32 位系统是 250MB。

Windows 和 BSD 平台上的 Go 用户会欣喜于 1.2 版本的网络性能已堪比 Linux 和 Mac OS X 平台的 1.1 版本。据开发团队所言,这些变化能带来约 30%的性能提升。1.2 版本的所有用户都应发现 Go 在 bzip2 解压和 JSON 编码实现上的性能提升。

详尽变化可参照Go 1.2 发行说明

查看英文原文:Go Steadily Advances as Go 1.2 is Released


感谢张龙对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

GoogleDevOps语言 & 开发