探索 Go 语言中的 Interface

格物致知 at 
本文翻译自:Exposing interfaces in Go0. 概述接口 是 Go 语言中我最喜欢的特性。所谓的接口,其实就是一系列方法的集合。和其他程序语言不同,你不需要特别申明说一种类型实现了某个接口,实现接口 I 的方式只需要在结构体 S 中实现所有定义在接口 I 中的方法即是。编写一个良好的接口是非常困难的,你很容易就可能因为暴露一个太过宽泛的和不必要的接口,从而“污染”了 API。在这篇文章中,我将以标准库中接口为例,阐述接口设计的指导思想。1. 接口越大,抽象越弱你不大可能找到多种不同的对象,他们都实现了一个大的接口,因为,“在 Go 的代码中,接口通常只会包含一到两个方法”。……