近日,开源编程语言 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 )关注我们,并与我们的编辑和其他读者朋友交流。
评论