インスタンス化を行わずに構造体型を動的に登録する
動的ソリューションを読み込むためのレジストリでは、現在のアプローチでは、インスタンスを作成する前にインスタンスを作成してゼロにする必要があります。そのタイプを登録します。これは、大規模な構造で問題を引き起こします。
解決策:
reflect.TypeOf 関数を利用してインスタンスを作成しないようにします:
<code class="go">import "reflect" func RegisterWithoutInstance(sol interface{}) { typ := reflect.TypeOf(sol).Elem() solutionsRegistry.Set(typ) }</code>
利点:
このアプローチでは、構造体インスタンスの割り当てや初期化を行わずに型を登録できるため、大規模な構造体に関連するオーバーヘッドが排除されます。
以上がインスタンス化せずに構造体の型を動的に登録するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。