- 接口时一个变成规约,也是一组方法签名的集合
空接口 interface{ }
空接口的方法集为空,所以任意类型都被认为实现了空接口,任意类型的实例都可以赋值或传递给空接口。
非命名类型由于不能定义自己的方法,所以方法集为空,因此其类型变量除了传递给空接口,不能传递给任何其他接口。
接口概念
- 接口声明
interface{
MethodSign1
MethodSign2
}
//使用type关键字类型声明
type InterfaceName interface{
methodSignature 1
methodsignature 2
}
接口里面可以嵌套其他接口
type Reader interface{
Read(p []byte)(n int