原来Ruby也支持Go语言式的Structural Typing接口

老蔡感觉,Go语言的接口不同于C++/Java中的接口,更加灵活、解耦。

在C++编程中,一般用抽象类来定义接口,而接口的实现是依赖于接口的,这样如果要新增功能的话,需要写派生类或者从基础类开始改动这个类,Python也是这样,导致有些时候,一些特定的场景想给一个已有类增加方法是比较麻烦的。

Go语言中,接口是依赖于实现的,也就是说,可以在做了一个模型后,再来发现:原来这个模型还能这么用! 继续阅读原来Ruby也支持Go语言式的Structural Typing接口