Go テンプレート システムで変数名に動的にアクセスするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-25 05:25:15
オリジナル
190 人が閲覧しました

How Can I Dynamically Access Variable Names in a Go Template System?

リフレクションを使用して変数名に動的にアクセスする方法

質問:

カスタム テンプレート内システムでは、スライスに格納されている変数の名前を動的に取得するにはどうすればよいでしょうか?具体的には、テンプレート内のプレースホルダー (例: {{onevar}}) を対応する変数値に置き換えることを目的としています。

回答:

そのままの変数名にアクセスします。スライスに格納されている値を操作する場合、ソース コードにこれらを含めることはできません。これは、スライスには元の変数やその名前への参照ではなく、値自体が含まれているためです。

試行例:

これを達成するためにリフレクションを使用しようとしていると述べました。 , しかし、誤解があるようです。 Go のリフレクションは、実行時に型と値に関する情報を提供しますが、値から変数名を取得する機能はありません。

解決策:

必要な機能を実現するにはの場合は、スライスの代わりにマップを使用することをお勧めします。マップはキーを値に関連付け、キーを値の識別子として使用できます。変数名をキーとして保存し、値を対応するマップに保存することで、プレースホルダーを実際の変数値に簡単に置き換えることができます。

以上がGo テンプレート システムで変数名に動的にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート