第 22 课2026.09.30
让上一课的提示函数分别覆盖过短、过长与未知错误。
第 22 课:完整映射两类时长错误
- 日期:2026-09-30
- 课程序号:第 22 课
- 知识点:
switch配合errors.Is
用途或适用场景
让上一课的提示函数分别覆盖过短、过长与未知错误。
核心概念
按错误身份分支,不解析包装后的错误字符串;nil 返回空提示。
最小代码或操作示例
go
func message(err error) string {
switch {
case err == nil: return ""
case errors.Is(err, errMinutes): return "请输入正数分钟"
case errors.Is(err, errTooLong): return "最多 60 分钟"
default: return "时长校验失败"
}
}3~5 分钟练习
分别传入两个包装错误和 nil。
参考答案
依次得到正数提示、上限提示与空字符串。
与上一课的联系
第 21 课开始封装错误提示但只覆盖一类;本课只补齐既有两种错误身份;下一课可为提示函数写表格测试。
时效校验
时效校验:2026-09-30(Go 当前标准库;errors.Is 自 Go 1.13 可用,未见废弃标记。)