ホームページ  >  記事  >  バックエンド開発  >  Go Reflection は文字列名を使用して構造体メソッドを呼び出すことができますか?

Go Reflection は文字列名を使用して構造体メソッドを呼び出すことができますか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-19 21:14:02728ブラウズ

Can Go Reflection Invoke a Struct Method Using a String Name?

リフレクション: 文字列による構造体

疑問が生じます: リフレクションを介して名前を文字列として指定して構造体のメソッドを呼び出すことは可能ですか? ?

Go では、リフレクションは値に基づいて基になる型を決定します。提供されているコード スニペットで試行されているように、文字列を式として使用して型を取得することはできません。

同様の質問で受け入れられた回答では、文字列名をターゲットの型と照合することを提案しています。ただし、このアプローチでは手動の型マッピングが必要であり、文字列としての名前によって構造体にアクセスするための直接的な解決策は提供されません。

結論

残念ながら、 Go の組み込みメカニズムまたはレジストリ。これにより、文字列として名前のみを使用して構造体のメソッドを直接呼び出すことができます。これを実現するには、カスタム タイプ レジストリを実装する必要があります。これには、タイプ名を値に手動でマッピングする必要があります。

以上がGo Reflection は文字列名を使用して構造体メソッドを呼び出すことができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。