カスタマイズ可能なエラー処理: 型保持ソリューション
Go にはジェネリックスがないにもかかわらず、型保持エラー処理を実現できます。次の P() 関数について考えてみましょう:
<code class="go">func P(any interface{}, err error) (interface{}) { if err != nil { panic("error: " + err.Error()) } return any }</code>
ただし、空のインターフェイス () にキャストすると、型情報が失われます。これに対処するには、Go 生成の使用を検討してください。
生成ベースのアプローチ:
処理する必要がある型ごとに P() の特定の実装を生成できます。 。ガイドとなるリソースのリストは次のとおりです:
具象 P() 関数を生成することで、型情報を追加し、lib 関数からのエラーの処理を簡素化します。
以上が型を保持したエラー処理を実現するには、Go のジェネリックの欠如をどのように克服できるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。