接口interface

86 阅读1分钟

接口可以定义一组方法,但是不需要实现。而是等到需要实现的时候才去实现

基本语法

定义接口

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()
}