Go 的 interface 是什么?空接口有什么用?
interface 是一组方法的集合,Go 采用鸭子类型:只要类型实现了接口的全部方法,就自动满足该接口(无需显式声明),实现了多态和松耦合。空接口 interface{}(Go 1.18+ 可写 any)表示任意类型,类似 Java 的 Object,用于不确定类型的参数(fmt.Println、JSON 处理)。注意:空接口会引入类型断言(v.(type))和反射的开销,热点路径避免滥用;接口应小而专注(如 io.Reader 只有一个 Read 方法)。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。