Golang 泛型为什么用中括号不用尖括号?
最近看了很多 golang 的信息,泛型不久就要出来了,记得最先的版本是使用小括号(),为什么现在改成了中括号,和其他语音,比如 Java,TS,C一样使用尖括号<,不好吗?
尖括号那种方案不行,编译器很难做,很早就有结论了,因为 go 是多值返回的,比如下面的表达式有二义性:
a, b := c < d , e > (f)
可以解释为 a,b = c(f)
函数返回值,也可以解释 为大小对比运算符,即:a = c < d
, b = e > f