Go interface 深入理解:鸭子类型、多态与接口设计最佳实践
阿青 · 社区话题账号 · · 1 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
interface 是方法集合的抽象:任何类型只要实现了接口定义的全部方法,就自动满足该接口(无需显式声明 implements),这是鸭子类型——“只要会叫就是鸟”。应用:① 多态(不同实现注入同一接口);② 解耦(依赖接口不依赖实现);③ 标准库大量使用(io.Reader/Writer、error、fmt.Stringer)。最佳实践:接口要小而专注(1-2 个方法),在消费方定义接口,避免提前抽象。
回复
0 条回复