后记:本文是上一篇《JavaScript的最大秘密》的续集。沿用JavaScript的原型方法,介绍了Go语言的面向对象实现。Go语言在面向对象方面更有趣。结构和方法是分开的。没有继承,只有组合。有一种多态性看起来很像DuckTyping。我想KenThompson和RobPike在设计Go语言的时候,一定是经过深思熟虑,经过深思熟虑的。在Go语言的官网上,我回答Go语言是不是面向对象的语言:是和不是。虽然Go有类型和方法,并允许面向对象风格的编程,没有类型继承,但Go中的“接口”概念提供了一种我们认为更容易使用和更通用的不同方法。Go语言通过将一种类型嵌入另一种类型来支持子类化的概念(尽管不完全相同)。另外,Go语言中的方法比C++和Java更通用。程序员可以在任何数据类型上定义方法,甚至是内置类型:例如Integer,并且方法不限于结构(类)。此外,缺少类型继承使得Go中的对象比C++或Java更轻量级。【本文为专栏作家“刘欣”原创稿件,转载请通过作者微信获取授权公众号编码】点此查看该作者更多好文
