[关闭]
@levinzhang 2017-09-02T23:32:42.000000Z 字数 1143 阅读 444

Go 1.9引入了类型别名并提升了运行时和工具支持

by

摘要:

在最近发布的Go 1.9中,最重大的变化就是支持通过声明类型别名实现渐进式代码修复。Go 1.9同时还提升了垃圾收集器和编译器。


最近发布的Go 1.9中,最重大的变化就是支持通过声明类型别名(type alias)实现渐进式代码修复(gradual code repair)。Go 1.9同时还提升了垃圾收集器和编译器。

根据Google的工程师Russ Cox所述,渐进式代码修复是代码重构中一种很有用的方式,对于大型的代码库来说很有价值。简而言之,渐进式代码修复的目标是通过一系列的步骤完成一个较大规模的重构,也就是说不会在一次自动化的提交中完成所有的变更,而是分成多次提交。原子性的重构方式在概念上通常很简单,但是如果代码库很大的话,就会造成规模很大的代码提交,这样很难审查和合并。借助渐进式代码修复,我们可以按照三个步骤来重构代码:首先,引入新的API,它应该能与旧的API共存,所以我们不必立即修改所有使用旧API的代码;然后,我们将使用旧API的所有地方替换为新API;最后,将旧的API移除。

为了启用渐进式代码修复,必须能为常量、函数、变量和类型创建另外一个备选的名称。现在,Go允许通过如下的方式声明类型别名:

  1. type OldAPI = NewPackage.API

这样的话,所有引用OldAPI的地方都会使用重构之后的类型。如果读者对渐进式代码修复的更多讨论感兴趣的话,那么Russ Cox的阐述是不容错过的。

按照Google的工程师Francesc Campoy所述,针对Go 1.9所付出的大多数工程方面的努力都投入在提升运行时、核心库以及工具方面。最重要的变更包括:

要了解Go 1.9的所有变更的话,可以参考发布文档

查看英文原文:Go 1.9 Introduces Type Aliases, Improves Runtime and Tooling

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注