渐进式编程课
Go 目录
第 11 课2026.09.14

让函数接收不同类型,只要求它们提供同一种行为。

第 11 课:接口描述所需行为

  • 日期:2026-09-14
  • 课程序号:第 11 课
  • 知识点:小接口与隐式实现

用途

让函数接收不同类型,只要求它们提供同一种行为。

核心概念

Go 类型只要实现接口要求的方法就自动满足接口,无需显式声明。

最小代码或操作示例

go
type Namer interface {
	Name() string
}

func Label(value Namer) string {
	return "课程:" + value.Name()
}

3~5 分钟练习

定义 Duration 接口,要求实现 Minutes() int。

参考答案

type Duration interface { Minutes() int }

与上一课的联系

上一课用指针接收者修改状态;本课用方法集合抽象对象能力。

时效校验

时效校验:2026-09-15(Go 当前官方教程)。已复核本课用法,未发现废弃标记;本轮官方资料见下方链接。

官方参考