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{}) // 汪
- 接口只定义方法签名,不实现具体功能。
- 类型只要实现接口的所有方法即可视为实现该接口(隐式实现)。