エラーの直接的な比較 (例: == の使用) を報告し、errors.Is を代わりに使用することを提案します。

Go 1.13 以降は %w 動詞を含む fmt.Errorf 関数を使用してエラーをラップできます。 そのため、等価チェックを使用したエラーの直接的な比較はラップされたエラーでは失敗します。 特定のエラーをチェックするには、標準ライブラリの 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")
}