迈向 Go 2 的下一步

2019-09-02

JiangRen Mr

Go 2 又有进展了,近日 Go 团队在博客公布了关于 Go 2 下一步的计划。根据此前的报道,所谓的 Go 2 并非一个单独的重大更新版本,而是通过“增量(incremental)更新”的方式以逐渐抵达 "Go 2.0",所以期间的版本都能看到 Go 2 的影子。

当前状态

Go 团队表示正准备推出 Go 1.13,有望在今年 8 月初发布。经历长时间的开发后,这会是首个包括对语言特性进行具体更改的重要版本,而不仅仅是针对规范的小调整。

为了实现这些变化,Go 团队从一小系列可行的提案开始,这些提案很大一部分来自 GitHub 中被标记为提案的 issue 列表此文讲述过关于提案新的评估流程,团队希望所选择的提案对语言的改动较小,而且几乎没有争议,这样是为了保证经历完全程后,最终能实现这些提案。另外,提案引起的变更必须向后兼容,以实现最小的破坏性。

总而言之,初始阶段的变更不是为了解决重大问题,更多的是希望 Go 社区重新活跃起来,并从新的流程中汲取经验。

对于原始的提案列表 —— 通用 Unicode 标识符二进制整数字面量(binary integer literals)用于数字字面量的分隔符和 signed integer shift counts,官方表示已采纳部分并对它们进行了修改。如关于二进制字面量的提案,团队已对其进行了显著的扩展,并对 Go 的数字字面量语法进行全面和现代化的改进。

Go 团队还将错误处理(error inspection) 添加到了 Go 2 的草案设计提案中,该提案已被部分接受。

在 Go 1.13 中,我们将能看到这些变化,不过官方表示现在关注的重点是 Go 1.14,并确定接下来要解决的问题。

关于 Go 1.14 的提案

Go 团队表示当前对 Go 语言的目标依旧和 2007 年的一致:成为一门使软件开发更具伸缩性的语言。在这条路上,改进 Go 伸缩性的三大难题包括:包/版本管理、错误处理以及泛型。

不过随着对 Go module 的支持日益强大,团队正在努力解决对包/版本管理支持的问题。所以现在主要剩下错误处理和泛型的问题亟需解决。

团队一直在研究和它们相关的问题,并在去年的 GopherCon 大会上提出了设计草案。自那时起,团队就一直在迭代和改进这些设计。对于错误处理,他们发布了一个详细的、经过重大修改和简化的草案。对于泛型,团队表示已取得进展,今年还在 GopherCon 上进行了一场名为 “Generics in Go” 的演讲(Ian Lance Taylor 作为演讲者),不过尚未达到具体的提案阶段。

团队希望给 Go 语言带去一些小的改进,所以为 Go 1.14 选择了以下这些提案:

下一步

团队正在积极征求对这些提案的反馈意见。他们希望看到用户在基于事实的情况下,解释为什么提案可能在实践中不能很好地运作,或者指出团队在设计中欠缺考虑的问题等。对于仅包含个人意见的评论,团队表示可以承认它们,但无法以任何建设性的方式来解决这些问题。

最后,如果没有充分的理由阻止这些提案进入试验阶段,团队将会在 Go 1.14 的开发周期(2019年8月初开始)中实现它们,以便在实践中对其进行评估。根据提案评估流程,Go 1.14 预计将在开发周期结束时(2019年11月初)完成。

 

本文章转载自开源中国。

近期开课hot
logo

Follow Us

linkedinfacebooktwitterinstagramweiboyoutubebilibilitiktokxigua

We Accept

/image/layout/pay-paypal.png/image/layout/pay-visa.png/image/layout/pay-master-card.png/image/layout/pay-stripe.png/image/layout/pay-alipay.png

地址

Level 10b, 144 Edward Street, Brisbane CBD(Headquarter)
Level 8, 11 York st, Wynyard, Sydney CBD
Business Hub, 155 Waymouth St, Adelaide SA 5000

Disclaimer

footer-disclaimerfooter-disclaimer

JR Academy acknowledges Traditional Owners of Country throughout Australia and recognises the continuing connection to lands, waters and communities. We pay our respect to Aboriginal and Torres Strait Islander cultures; and to Elders past and present. Aboriginal and Torres Strait Islander peoples should be aware that this website may contain images or names of people who have since passed away.

匠人学院网站上的所有内容,包括课程材料、徽标和匠人学院网站上提供的信息,均受澳大利亚政府知识产权法的保护。严禁未经授权使用、销售、分发、复制或修改。违规行为可能会导致法律诉讼。通过访问我们的网站,您同意尊重我们的知识产权。 JR Academy Pty Ltd 保留所有权利,包括专利、商标和版权。任何侵权行为都将受到法律追究。查看用户协议

© 2017-2024 JR Academy Pty Ltd. All rights reserved.

ABN 26621887572