内容简介:Go 1.10 还没发布,下面将简单介绍正在进行中的 Go 1.10 发布说明草案。 Go 1.9 已于 2017 年 8 月发布,最新的 Go 1.10 预计将于 Go 1.9 发布六个月后 —— 2018 年 2 月发布。 Go 1.10 大部分的变更仍然集中在...
Go 1.10 还没发布,下面将简单介绍正在进行中的 Go 1.10 发布说明草案。
Go 1.9 已于 2017 年 8 月发布,最新的 Go 1.10 预计将于 Go 1.9 发布六个月后 —— 2018 年 2 月发布。
Go 1.10 大部分的变更仍然集中在 工具 链、运行时和库的实现上。一如既往地,此版本依然会保持与 Go 1.x 的兼容性,官方表示几乎所有的 Go 应用程序都能像以前一样继续编译和运行。
语言特性方面的改变
语言特性方面没有实质性的变化。
极端情况下,由无类型常量引起的变化已经弄清楚。因此,编译器也已进行升级,它可允许这样的索引表达式 x[1.0
<<
s]
通过编译,其中 s
是一个无类型常量。go/types 包也已完善。
方法表达式的语法(grammar)也已进行更新,它将会放松语法(syntax)的规则来允许任何类型表达式作为接收方,这与编译器已经实现的特性相匹配。例如 struct{io.Reader}.Read
,如果编译器已经接受并且现在被语言语法所允许,它是一个有效的表达式。
运行时
TODO:不从 Go 没有创建的锁定线程或线程中启动新线程。LockOSThread/UnlockOSThread 现在是嵌套的。LockOSThread + return 可杀掉线程。
堆栈跟踪不再包含隐式封装函数(以前被标记为 <autogenerated>
),除非封装本身出现错误。
GOMAXPROCS
设置不再有限制(在 Go 1.9 中,限制是 1024)
性能
性能方面的改变较多。由于垃圾收集器的加速,将会生成更好的代码以及核心库中的优化。此外,大多数程序运行速度将会更快一些。
核心库
标准库的改动较小,bytes 和 net/url 中的变化最有可能要求对现有的程序进行更新。
总的来说,更新的内容涉及到语言特性、Port、工具、运行时、性能、垃圾收集器以及核心库这些方面,其中主要是对工具的更新。
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- PostgreSQL 12 首个版本说明草案发布
- PostgreSQL 12 首个版本说明草案发布
- W3C 发布 CSS 文本修饰模块规范的首个公开工作草案
- Go 2 错误处理设计草案预览
- babel对TC39装饰器草案的实现
- TC39 在 GitHub 通过一条 EMCAScript 私有属性的草案
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。