面向对像编程
这一章的目标是展示如何在Go语言中做面向对像编程。 对于有函数式编程背景的程序来说(e.g.,C),应该能够发现这一章的知识是建立于面向过程之上的。但对于有基于继承面向对像的程序员来说(e.g., C++, Java, Python)将需要把很多的概念放到一边——尤其是关于继承的——因为Go采用了完全不同的方法进行面向对像编程。
Go的标准库主要提供这些包的函数,但也会有少量的自定义类型和自定义类型的方法。在之前的章节中,我们创建了这些自定义类型的值(e.g.,regexp.Regexp 和 os.File),并且调用它们的方法。此外,我们也创建了我们自己的自定义类型及相应的方法——比如,为了支持打印和排序——所以对于我们来说,已经对类型(相当于其它语言的类)和方法的调用有了一定的了解。
本章的第一部分简单的介绍了Go语言面向对像编程的一些关键概令。 第二节将讲如何创建没有方法的自定义类型,它的子章节将讲如何给这些自定义类型添加方法,构造函数,以及验证字段数据。 第三节讲接口——它是Go类型安全(鸭子类型)的基础。第四节讲structs. 将介绍很多在之前没有介绍到的细节。
本章的最后是三个完整的例子。