1.7.0 前言

  1. 接口类型是对其他类型行为的概括与抽象

  2. 接口是Go语言最重要的特性之一,接口类型可以定义为一组方法,但是这种方法不是必要实现的

  3. 接口本质上是一种类型,确切的说是一种指针类型

  4. 接口可以实现多态功能

  5. 如果一个类型实现了某个接口,则所有使用这个接口的地方都可以支持这种类型的值

  6. 格式如下:

    type 接口名称 interface {
        method1(参数列表) 返回值列表
        method2(参数列表) 返回值列表
        ...
        methodn(参数列表) 返回值列表
    }
  7. 在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