型スイッチ分岐での型アサーションの回避
Go の型スイッチは、さまざまな型のデータを処理する便利な方法を提供します。ただし、場合によっては、case 分岐内で変数の型を明示的にアサートすることを避けたい場合があります。
解決策:
型アサーションの必要性を回避するにはを使用すると、型切り替えの結果をチェック対象の変数に直接割り当てることができます。これにより、一致に基づいて変数が正しい型に自動的に割り当てられます:
switch question := question.(type) { case interfaces.ComputedQuestion: handleComputedQuestion(question, symbols) case interfaces.InputQuestion: handleInputQuestion(question, symbols) }
この例では、質問変数は switch ステートメントの一致に基づいて適切な型に割り当てられます。その結果、明示的な型アサーションを必要とせずに、質問を handleComputedQuestion 関数または handleInputQuestion 関数に直接渡すことができます。
この手法により、コードが簡素化され、読みやすさが向上します。型スイッチの分岐で型アサーションを回避することで、コードをより簡潔で保守しやすく保つことができます。
以上がGo の型スイッチ ブランチ内で型アサーションを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。