https://github.com/dotaheor/unify-Go-builtin-and-custom-generics
两个对比:
1
reus 2019-07-28 13:55:42 +08:00
用 function body 做泛型约束,就已经谈不上“可读性”了,新的 contract 提案和旧的比较,最大的不同就是泛型约束的语法不再用 function body。
|
3
liulaomo OP 这下面有很多例子中使用了不带 function body 的 contracts。
https://github.com/dotaheor/unify-Go-builtin-and-custom-generics/tree/master/examples/src/go 个人感觉此提案相对官方草案有以下优点: 1. 和内置范型更接近。 2. 主题语法完全和 Go 1 兼容. 3. 相对于官方草案,少了很多新语法。 |
4
reus 2019-07-28 14:29:44 +08:00
|
6
sorra 2019-07-28 14:53:03 +08:00
|
7
liulaomo OP @reus 和 D 模板还真有店像。
https://en.wikibooks.org/wiki/A_Beginner%27s_Guide_to_D/Templates_and_Generic_Programming/Mixins 应该说兼有 C++(但 type/function 输出)和 D (多个输出)模板的特点。 @sorra 这老爷子准备把 C++设计成百科全书吗?作为一个只懂 C++98 的大叔,表示看不懂新世纪的 C++代码。 |
8
Cbdy 2019-07-28 15:11:59 +08:00 via Android
go 不加泛型也挺好的,写出了 docker 和那么多云原生的组件。港真,go 语言没有必要加泛型,避免增加语言复杂度
|