Go 1.18 将支持泛型,Go 团队技术 leader 有话说
Russ Cox(Go 核心开发团队技术 leader,下简称"rsc")昨日公开发布邮件,称如果没有意外情况,Go 1.18 将会支持泛型。 rsc 表示,泛型是 Go 1 发布以来 Go 语言最重要的变化,同时也是有史以来最大的单一语言特性变化。他写这封邮件主要是解释为 Go 加入泛型对 Go 开发团队以及其他开发者的意义。 rsc 认为,Go 的任何新特性——无论是库或者语法,都具有不确定性。同样的,泛型也无法避免这种不确定性。而且由于泛型是一个较大的新特性,因此它带来的不确定性也会相应地更大。虽然他们为 Go 语言带来了泛型,但他们自己并不了解使用泛型的最佳实践是什么,所以无法在文档给出关于何时使用泛型以及何时不使用的准确、明确答案。 此外,Go 团队没有任何在生产环境使用泛型的经验,因此 rsc 表示他们会在发布说明中明确指出,在生产环境中使用泛型应该适当地谨慎处理。 rsc 强调了 Go 1.18 与其他 Go 1.x 版本一样具有向后兼容的承诺:他们不会破坏使用 Go 1.18 构建的代码的兼容性,包括使用泛型的代码。最坏的情况下,如果发现 Go 1.18 语义存在致命的...