代码点读机 / Go / interface

interface Go · 关键字

列出一组方法签名作为"能力清单",任何类型只要实现了这些方法,就自动算这个接口,像考过驾照就能开车,不用额外申请。

怎么用

type 接口名 interface { 方法签名 }

小例子

type 叫唤者 interface {
    叫() string
}

type 猫 struct{}
func (猫) 叫() string { return "喵" }

var x 叫唤者 = 猫{}
fmt.Println(x.叫())

运行结果

输出 喵

提醒:Go 的接口实现是隐式的

官方文档:https://go.dev/ref/spec#Interface_types

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Go全部词条