39.笔记go语言——接口
在Go中,保留字interface被赋予了多种不同的含义。每个类型都有接口,意味着对那个类型定义了方法集合。
接口定义为一个方法的集合。方法包含实际的代码。换句话说,一个接口就是定义,而方法就是实现。因此,接收者不能定义为接口类型,这样做的话会引起invalid receiver type ... 的编译器错误。
根据规则,单方法接口命名为方法名加上-er后缀:Reader,Writer,Formatter等。
有一堆这样的命名,高效的反映了它们职责和包含的函数名。 Read,Write,Close,Flush,String等等有着规范的声明和含义。为了避免混淆,除非有类似的声明和含义,否则不要让方法与这些重名。相反的,如果类型实现了与众所周知的类型相同的方法,那么就用相同的名字和声明;将字符串转换方法命名为String而不是ToString。