就是一个半吊子trait的实现Go的interface是一个残废的实现,一开始意图是允许带有一定约束(方法集)的多态。
但是这玩意又不像rust一样是编译期展开的(当然1.18以后把interface用在泛型上可以视作静态trait的一种实现形式),只要参数位上一用到interface就通通逃逸加装箱变成动态派发。
而且Go中interface是隐式实现加不可区分(non-distinguishable)的,什么意思呢? 例如:在rust里,你两个trait(Plugin 和 Builder)里有…。
Swift 和同时代的其他语言比起来怎么样?…
当量子计算机能预测人类选择,自由意志是否沦为算法的注脚?…
JetBrains 放弃 AppCode 是否是一个错误决定?…
Rust 使用 Result 的错误处理方式与 Golang 使用 error 的方式有什么本质区别?…