Go メソッドの探索: オブジェクトのメソッドの存在の検証
Go では、オブジェクトが特定のメソッドを所有しているかどうかを判断することが重要なタスクです。相互作用と多態性。これは、respondsToSelector を使用してメソッドの可用性をチェックする Objective-C の概念によって例証されます。
単純なチェックに型アサーションを使用する
Go の 1 つの実用的なアプローチには、インターフェイスの定義が含まれます。必要なメソッドのみを使用し、その後ターゲットの型に対して型アサーションを実行します。次のコード スニペットは、このメソッドを示しています。
代わりに、インライン インターフェイス宣言を利用することもできます。
高度な検査に Reflect パッケージを利用する
複雑な型アサーションを扱ったり、メソッドを動的に操作したりする場合、Go のリフレクト パッケージは広範な機能を提供します。以下のコードは、リフレクションを使用してメソッドの存在を確認する方法を示しています。
指定されたメソッドが見つからない場合、ok 変数は false に設定されます。逆にメソッドが存在すれば、それを呼び出す(m.F)といった操作が可能となります。
以上がGo オブジェクトのメソッドの存在を確認する方法: 型アサーションとリフレクション?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。