导航菜单

Go语言接口与类型系统

接口基础

接口(interface)是Go语言实现多态和解耦的重要机制。

// 定义接口
type Speaker interface {
    Speak() string
}

// 实现接口
type Cat struct{}
func (c Cat) Speak() string { return "喵" }

type Dog struct{}
func (d Dog) Speak() string { return "汪" }

// 使用接口
func makeSound(s Speaker) {
    fmt.Println(s.Speak())
}

makeSound(Cat{}) // 喵
makeSound(Dog{}) // 汪
  • 接口只定义方法签名,不实现具体功能。
  • 类型只要实现接口的所有方法即可视为实现该接口(隐式实现)。