1.7.0 前言
接口类型是对其他类型行为的概括与抽象
接口是Go语言最重要的特性之一,接口类型可以定义为一组方法,但是这种方法不是必要实现的
接口本质上是一种类型,确切的说是一种指针类型
接口可以实现多态功能
如果一个类型实现了某个接口,则所有使用这个接口的地方都可以支持这种类型的值
格式如下:
type 接口名称 interface { method1(参数列表) 返回值列表 method2(参数列表) 返回值列表 ... methodn(参数列表) 返回值列表 }在Go语言中,接口本身不能穿件实例,但可以指向一个实现了该接口的自定义类型的变量来实现:
type Programmer struct { Name string } func (stu Programmer) Write() { fmt.Println("Write") } type SkillInterface interface { Write() } func main() { var pro Programmer pro.Write() var a SkillInterface = pro a.Write() }结果:
Write Write
Last updated