Go の err.(*os.PathError) について
有効なエラーについて Go ドキュメントを調べているときに、「err」という行に遭遇しました。 .(*os.PathError)" と表示され、それが何を意味するのか疑問に思いました。
err.(*os.PathError) とは何ですか?
os.Create 関数は、 error を 2 番目の戻り値として使用し、エラー インターフェイス { Error() string } を実装します。 os.Create でファイルを作成しようとすると、問題が発生するとエラーが返されます。
具体的には、デバイスに空き領域が残っていないときにファイルを作成しようとすると、os パッケージエラー実装として *os.PathError を返します。 Error() メソッド以外のエラーに関する追加情報にアクセスするには、それを変換する必要があります。
Type Assertion
ステートメント「e, ok := err. (os.PathError)」は型アサーションを実行します。インターフェース値 err に具体的なタイプとして os.PathError が含まれているかどうかをチェックします。存在する場合、os.PathError を e に割り当て、ok を true に設定します。それ以外の場合は、os.PathError のゼロ値 (nil) を e に割り当て、ok を false に設定します。
Usage
指定されたコード、デバイスにスペースが残っていないことを示す ENOSPC エラー コードを探しています。 os.Create によって返されたエラーがこのコードと一致する場合は、クリーンアップ タスクを実行してスペースを解放し、ファイルの再作成を試みることができます。
以上がGo で型アサーションを使用して *os.PathError から特定の情報にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。