05-interfaces-errors
接口是 Go 语言类型系统的核心抽象机制,错误处理是 Go 最具特色的工程实践。本部分将两者结合,因为 error 自身就是一个接口。
学习目标
- 理解接口的隐式实现与鸭子类型
- 掌握类型断言和类型开关
- 理解接口嵌套与设计原则
- 掌握 error 接口与自定义错误
- 理解错误包装、errors.Is/As/Join
- 掌握 panic/recover 的使用场景
章节
| 编号 | 章节 | 文件 |
|---|---|---|
| 1.11 | 接口 | 01-接口 |
| 1.12 | 错误处理 | 02-错误处理 |
学习建议
- 先学接口,再学错误处理 — 理解
error就是一个Error() string方法的接口,自然就懂了 - 接口的精髓在于"隐式实现"和"小接口"原则,多读标准库源码体会
- 错误处理要有意识地区分 sentinel error、自定义错误、错误包装三种模式
检查清单
- [ ] 理解接口的隐式实现机制
- [ ] 掌握类型断言 (
v, ok := x.(T)) 和类型开关 (switch v := x.(type)) - [ ] 理解接口嵌套组合(Reader + Writer = ReadWriter)
- [ ] 掌握 error 接口与 errors.New / fmt.Errorf
- [ ] 理解错误包装 (
%w) 与 errors.Is / errors.As / errors.Join - [ ] 理解 panic/recover 的使用场景与边界