注:本文是《Go语言核心编程》(李文塔/著)个人读书笔记
Go 语言的接口分为接口字面量类型和接口命名类型,接口的声明使用 interface 关键字 。 接口定义大括号内可以是方法声明的集合, 也可以嵌入另一个接口类型匿名字段, 还可以 是二者的混合。 接口的命名一般以“er"结尾 接口定义的内部方法声明不需要func引导
i.(TypeName)
没有任何方法的接口,我们称之为空接口。空接口表示为interface{} 空接口用途 1 GO语言没有泛型,如果一个函数需要接收任意类型的参数, 则参数类型可以使用空接口类型,这是弥补没有泛型的一种手段。 空接口和反射 空接口是反射实现的基础 ,反射库就是将相关具体的类型转换并赋值给空接口后才去处理。 空接口和nil 空接口有两个字段, 一个是实例类型,另 一个是指向绑定实例的指针,只有两个都为nil时 ,空接口才为nil。