接口可以定义一组方法,但是不需要实现。而是等到需要实现的时候才去实现
基本语法
定义接口
type 接口名 interface{
method1 (参数列表) (返回值列表)
method2 (参数列表) (返回值列表)
}
实现接口
func(t 自定义类型) method1(参数列表) (返回值列表) {
实现方法
}
func(t 自定义类型) method2(参数列表) (返回值列表) {
实现方法
}
Golang中的接口,不需要显示的实现。只要一个变量含有接口类型中的所有方法,那么这个变量就实现这个接口
type AInterface interface {
say()
}
type Stu struct {
Name string
}
func (stu Stu) Say() {
fmt.Println("Stu Say()")
}
func main(){
var stu Stu //结构体变量,实现了Say()实现了AInterface
var a AInterface = stu
a.Say()
}