Go接口 📝发布:2026-04-08 Go 接口 概述 Go 的接口是隐式实现, 不需要写 “implements”. go接口示例 package main import "fmt" /** 任何类型, 只要有 Speak() 方法, 就自动实现这个接口(隐式实现). */ type Speaker interface { Speak() } type Dog struct{} /** (d Dog) 是值接收者 Dog 类型有了 Speak() 方法 所以 Dog 自动实现 Speaker 接口 */ func (d Dog) Speak() { fmt.Println("Woof") } type Person struct { Name string } func (p Person) Speak() { fmt.Println("Hi, I'm", p.Name) } /** 多态 参数类型是 Speaker 接口,可以接收任何实现了 Speak() 的类型 */ func MakeItSpeak(s Speaker) { s.Speak() } func main() { MakeItSpeak(Dog{}) MakeItSpeak(Person{Name: "Alice"}) }