【IT168 资讯】 Google的Go语言团队刚刚发布了Go 1.10的测试版,Go 1.10在编译器工具链和性能上做出新改进,但并没有语言上的实质性改变。
Google Go 1.10测试版的新功能
新版本在编译器工具链和性能上做出了改进,但没有语言上的实质性变化。预计将于2018年2月发布Go 1.10正式版本,目前Go 1.10在其测试版本中提供了以下关键功能:
* 在支持的体系结构中,改进了编译器生成代码的性能。
* 垃圾收集器中的加速、更高效的生成代码和核心库的优化使程序能运行得更快。
* 在二进制文件中,在改进的Dwarf调试信息中,可以记录常量值。
* 在新版本中,linux / ppc64le端口需要使用cgo命令与程序进行外部链接。
* Go build命令根据源文件的内容、指定的构建标志和存储包中的元数据来检测过时的包。修改时间不再相关。
* Go install命令只安装在命令行上列出的包和命令。想要强制安装依赖项,开发人员需要使用go install - i标志。
* 放宽了方法表达式语法的限制,任何类型表达式都被允许作为接收方,从而与编译器已经运行的方式相匹配。
* 测试结果可以通过gotest缓存。
* Unicode包已经从Unicode 9.0升级到10.0,增加了8518个字符,包括一个比特币货币符号和56个表情符号。
Google Go 1.9的新功能
Google于2017年8月发布了Go 1.9版本。以下是新添功能和改进:
* 垃圾收集器中的加速、更高效的生成代码和核心库的优化使程序能运行得更快。
* math/bits包优化了bits的操纵。编译器将包中的函数作为内在函数来提高性能。
* Go 1.9编译器利用多个处理器内核,支持并行编译包中的函数。 Go 1.9保留了之前版本的go命令对单独软件包的并行编译支持。默认情况下并行编译是打开的,但也可以设置禁用。
* 在可扩展性方面,Go 1.9添加了用于代码修复的类型别名声明的支持。对Go语言进行更改,类型别名支持在软件包之间移动类型时逐步修复代码。从本质上来说,类型别名的引入提供了一个过渡期,从新旧包中都可以使用API,从而引用旧版本和新版本的互操作性。