技术开发 频道

Go语言又发新版本,新添这些功能可还行?

  【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,从而引用旧版本和新版本的互操作性。

  * Go 1.9增加了透明的单调时间支持。

  * Go 1.9改进了测试助手功能,使用新的方法将调用函数标记为测试助手函数。

  * 同步包中的新类型用作并发映射,具有非固定时间负载、存储和删除。因此,多个Go程序可以同时调用映射方法。

0
相关文章