Skip to content

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 的使用场景与边界