渐进式编程课
Go 目录
第 16 课2026.09.21

让调用者知道哪个时长值失败。

第 16 课:fmt.Errorf补充错误上下文

  • 日期:2026-09-21
  • 课程序号:第 16 课
  • 知识点:fmt.Errorf补充错误上下文

用途或适用场景

让调用者知道哪个时长值失败。

核心概念

沿用 validate 的 error 返回;fmt.Errorf 格式化错误描述。

最小代码或操作示例

text
func validate(minutes int) error {
    if minutes <= 0 { return fmt.Errorf("minutes=%d: must be positive", minutes) }
    return nil
}

3~5 分钟练习

传入 -3 并打印错误。

参考答案

错误包含 minutes=-3 与失败原因。

与上一课的联系

沿用第 15 课返回 error 的 validate(minutes);本课只把固定错误改为含输入值的 fmt.Errorf;完成练习后下一课可先定义可复用的底层错误值。

时效校验

时效校验:2026-09-24(Go 1.27.1 fmt 标准库参考;已用本机 Go 1.26.6 运行示例,fmt.Errorf 未见废弃标记)。

官方参考