Go での反復的な Nil エラー チェックの回避
Go では、各関数呼び出しの最後にエラーをチェックするのが一般的です。次の例に示すように:
a, err := doA() if err != nil { return nil, err } b, err := doB(a) if err != nil { return nil, err } c, err := doC(b) if err != nil { return nil, err }
このアプローチでは、エラーが確実に処理されます。特に、エラー チェック コードが実際のロジックよりも多くの行を占める場合は、煩雑で反復的な作業になる可能性があります。
問題に対処する
方法はいくつかあります。この問題に対処します:
1.繰り返しを受け入れる
一部のプログラマは、繰り返しは大きな不便ではなく、潜在的なエラー処理パスを思い出させる貴重な手段であると主張します。
2.エラー チェックの利点
例外とは対照的に、Go の明示的なエラー チェックにより、開発者はエラー パスを事前に考慮する必要があり、リソース管理が適切に処理されることが保証されます。
3 。パニック/リカバリを検討してください
特定のコンテキストでは、パニックとリカバリを使用して再帰ロジックを巻き戻すことができますが、これは慎重に使用することをお勧めします。
4.コードの再編成
コード構造を再編成すると、反復的なエラー チェックの必要性が軽減される場合があります。
err := doA() if err != nil { return err } return doB()
5.名前付き結果 (非推奨)
名前付き結果を使用して return ステートメントから err 変数を削除すると、コードの明瞭さが損なわれ、潜在的な問題が発生する可能性があります。
6. If 条件の前のステートメント
Go if ステートメントは条件の前のステートメントを受け入れ、インライン エラー チェックを可能にします:
if err := doA(); err != nil { return err }
以上がGo での面倒な Nil エラー チェックを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。