Golang:一步一步走向Go 2(继包管理之后,Go将实现try,泛型也在考虑之列)

原文:https://blog.golang.org/go2-next-steps

image.png

现状

不出意外的话,我们将会在2019年8月发布Go 1.13版本。这是第一次对Go语言进行很实在的改变(而不是规范性的微调),这些改变很早以前就提出来,但是一直拖延着。

为了实现语言的改变,我们遵照“Go 2, here we come!
文档中的评估流程,先从 Go 2 proposals
(Go 2提案列表) 中挑选了一小部分可行的提案。

我们希望我们最初挑选的提案相对较小,并且几乎没有争议,以便于更大可能性去完成这些变更。这些“变更”的提案必须向后兼容才能最小化对模块的破坏性,这些模块允许指定Go语言版本,而不是默认构建方式。简而言之,作为第一轮的变革,主要还是为了迭代积累经验,而不是为了解决重大问题。

在原始提案列表中进行了修剪和扩展的提案:

由于我们没有及时制定“一般的Unicode标识符”这个提案的具体的设计文档,因此我们没有对它进行修整。“二进制整数文字”的提案得到了显着扩展,并对Go的数字文本语法进行了全面的改革和现代化。我们在错误检查中添加了Go 2草案设计方案,该提案已被部分接受。

经过Go 1.13的这些初步变化之后,现在是时候期待Go 1.14,并确定我们接下来要解决哪些问题。

Go 1.14的相关提案

不忘初心,Go语言目前的目标与2007年相同:使软件开发规模化。然而“包版本管理”、“错误处理机制”和“泛型”这三大问题阻碍了Go语言的发展。

随着Go module的支持越来越强大,我们解决了包及包版本的管理,于是三大问题中就剩下了“错误处理”和“泛型”。

我们一直在努力解决这两个问题,并在去年的丹佛GopherCon上展示了草图设计
draft designs,并一直迭代。

错误处理方面,我们发布了一个具体的、经过重大修改和简化的提案(下文中会提到)。

泛型方面,我们还在努力中。在今年的圣地亚哥GopherCon上发表了一篇与之相关的谈话
(“Generics in Go” by Ian Lance Taylor) coming up 但是我们还没有具体的相关提案。

我们也希望能继续完成一些小改进。针对Go1.14版本,我们挑选了以下一些提案:

#32437. 内建的错误处理函数, “try” (design doc).

这是一个改进错误处理机制的具体提议。这个提议向后兼容性很弱,但是我们希望通过这个提议能够大大改善错误处理的方式。这个提议已经吸引了大量的意见反馈,因此不太容易跟进。我们建议从初始评论initial comment 开始,以便于快速了解概述,然后再阅读详细的设计文档。这个初始评论initial comment 包括几个链接,这几个链接是迄今为止的反馈的摘要。如果你想提交反馈,在提交之前,请遵守反馈建议(请参阅下面的“后续步骤”部分)

#6977. 允许嵌套接口 (design doc).

允许嵌套接口是一个老提案,并且是一个向后兼容的提案。

#32479 go vet中诊断 string(int) 转换.

在Go语言早期,为了方便引入了 string(int) 转换,然而这种方式很容易让新手混淆(string(10) 转换后是"\n",而不是"10")并且这种转换方式在当今unicode/utf8包可用的情况下不合理。然而,删除这种转换会导致不向后兼容,因此我们提议先使用vet 诊断错误。

#32466 采用加密原则 (design doc).

这是对我们希望采用的加密库的一组设计原则的反馈。另请参阅crypto/tls中关于删除SSLv3 支持的提议.

后续步骤

我们正在积极征求关于这些提案的反馈意见。我们特别想了解的是基于事实的证据,请在反馈中说明为什么提案可能在实践中不能很好地运作,或者我们可能在设计中遗漏的问题。

如果支持提案,列举出令人信服的例子也非常有用。

另一方面,请不要发布仅包含针对个人因素的问题:我们可以理解,但我们无法以任何建设性的方式解决。

在发布反馈之前,请花点时间认真阅读详细的设计文档和之前的别人提出的反馈或反馈摘要。特别是这些提案在经过了长期讨论后,您的关注的问题可能已在早期的评论中提出并进行了讨论。

不出意外,我们计划在Go 1.14版本中(2019年8月初)开始实施所有这些提案,以便在实践中对它们进行评估(实践是检验一切的真理)。根据提案评估流程,最终决定将在开发周期结束时(2019年11月初)完成。

感谢您帮助Go成为更好的语言!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,496评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,407评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,632评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,180评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,198评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,165评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,052评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,910评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,324评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,542评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,711评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,424评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,017评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,668评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,823评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,722评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,611评论 2 353