golang目前的状态:
我们正准备推出Golang1.13,希望今年8月初。这是第一个版本,它将包括对语言的具体更改(而不仅仅是对规范的微小调整),在更长时间暂停任何此类更改之后。
为了达到这些语言变化,我们从一系列可行的提案开始,从大得多的Golang 2提案列表中选择 ,根据“ Golang 2 ”中概述的新提案评估流程,我们来了!我们希望我们最初选择的提案相对较小,而且几乎没有争议,因此有很高的机会让他们完成整个过程。建议的更改必须是 向后兼容 的,因为模块具有最小的破坏性 ,最终将允许特定于模块的语言版本选择,还不是默认的构建模式。简而言之,最初的一轮变革更多的是让球再次滚动并获得新工艺的经验,而不是解决重大问题。
我们的 原始提案列表 – 通用 Unicode 标识符, 二进制 整数文字, 数字文字的分隔符,有符号整数移位计数得到修剪和扩展。由于我们没有及时制定具体的设计文档,因此一般的Unicode标识符没有成功。二进制整数文字的提议得到了显着扩展,并对Golang的数字文字语法进行了全面的改革和现代化。我们在错误检查中添加了Golang 2草案设计方案,该提案已被部分接受。
随着Go 1.13的这些初步变化,现在是时候期待Golang 1.14并确定我们接下来要解决的问题。
关于Golang 1.14的提案:
我们今天的Golang目标与2007年相同: 实现软件开发规模。改进Golang的可扩展性的三个最大障碍是包和版本管理,更好的错误处理支持和 泛型 。
随着Golang模块支持越来越强大,正在解决对包和版本管理的支持。这留下了更好的错误处理支持和泛型。我们一直在研究这两个方面,并在去年在丹佛的GopherCon上提出设计草案。从那时起,我们一直在迭代这些设计。对于错误处理,我们发布了一个具体的,经过重大修改和简化的提案(见下文)。
我们还希望继续对语言进行较小的改进。对于Golang 1.14,我们选择了以下提案:
1.内置的Golang错误检查功能,“try”
这是我们改进错误处理的具体建议。虽然提议的,完全向后兼容的语言扩展很小,但我们期望对错误处理代码产生巨大影响。该提案已经吸引了大量的意见,并不容易跟进。我们建议从最初的评论开始, 快速概述,然后阅读详细的设计文档。最初的评论包含几个链接,这些 链接 导致到目前为止的反馈摘要。在发布之前,请遵循反馈建议(请参阅下面的“后续步骤”部分)。
2.允许嵌入重叠接口
这是一个旧的,向后兼容的提议,可以使界面嵌入更加灵活。
3.诊断string(int)转换go vet
该string(int)转化年初推出的围棋为了方便,但它是混乱的新人(string(10)是”\n”不是”10″),并不再是现在的转换可在合理的unicode/ utf8 包装。由于删除此转换不是向后兼容的更改,因此我们建议从vet错误开始。
4.采用加密原则
这是对我们希望采用的加密库的一组设计原则的反馈请求。建议删除SSLv3的支持 从crypto/tls。