就是一个半吊子trait的实现Go的interface是一个残废的实现,一开始意图是允许带有一定约束(方法集)的多态。
但是这玩意又不像rust一样是编译期展开的(当然1.18以后把interface用在泛型上可以视作静态trait的一种实现形式),只要参数位上一用到interface就通通逃逸加装箱变成动态派发。
而且Go中interface是隐式实现加不可区分(non-distinguishable)的,什么意思呢? 例如:在rust里,你两个trait(Plugin 和 Builder)里有…。
上一篇 : 编程语言 MoonBit 发布 Beta 版,正式进入企业场景应用,会带来哪些影响?
下一篇 : 在中国使用 Apple Pay 是种怎样的体验?