go 语言中接口的实现都是隐式的
interface{} 并不是任意类型,是一种特殊的类型,但他可以实现任意类型。如果我们把类型转换为了 interface{} 类型,变量在运行期间也会发生变化,获取变量类型时会得到 interface{}
go 中接口在定义一组方法时没有对实现的接收者做限制,所以我们会看到某个类型实现接口的两种方式。
当用指针实现接口时,只有指针类型的变量才会实现该接口。当用结构体实现接口时,不管是指针类型还是结构体类型都会实现该接口。