リフレクションを使用して変数名に動的にアクセスする方法
質問:
カスタム テンプレート内システムでは、スライスに格納されている変数の名前を動的に取得するにはどうすればよいでしょうか?具体的には、テンプレート内のプレースホルダー (例: {{onevar}}) を対応する変数値に置き換えることを目的としています。
回答:
そのままの変数名にアクセスします。スライスに格納されている値を操作する場合、ソース コードにこれらを含めることはできません。これは、スライスには元の変数やその名前への参照ではなく、値自体が含まれているためです。
試行例:
これを達成するためにリフレクションを使用しようとしていると述べました。 , しかし、誤解があるようです。 Go のリフレクションは、実行時に型と値に関する情報を提供しますが、値から変数名を取得する機能はありません。
解決策:
必要な機能を実現するにはの場合は、スライスの代わりにマップを使用することをお勧めします。マップはキーを値に関連付け、キーを値の識別子として使用できます。変数名をキーとして保存し、値を対応するマップに保存することで、プレースホルダーを実際の変数値に簡単に置き換えることができます。
以上がGo テンプレート システムで変数名に動的にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。