报告错误的直接比较,例如使用 ==,并建议改用 errors.Is

从 Go 1.13 开始,可以使用 fmt.Errorf 函数和 %w 动词来包装错误。 因此,对于已包装错误,使用相等检查直接比较错误会失败。 检查特定错误的首选方式是使用标准库中的 errors.Is 函数,因为此函数会在检查特定错误时遍历包装错误链。

有关 errors.Is 的详细信息,请参阅 working with Errors in Go 1.13

该快速修复会将错误的直接比较替换为调用 errors.Is

示例:


if err == MyError {
  fmt.Println("MyErr")
}

在应用快速修复后:


if errors.Is(err, MyError) {
  fmt.Println("MyErr")
}