php editor Apple はここで便利なテクニック、つまり Go Template がすべてのテンプレート データを使用しているかどうかを確認する方法を紹介します。開発プロセス中に、一部のテンプレート データが使用されない状況に遭遇することがあります。その結果、データのレンダリングが不完全になったり、不必要なパフォーマンスが低下したりする可能性があります。次の方法により、この問題をすぐに確認して解決できます。まず、Go テンプレートの基本的な構文と使用法を理解する必要があります。次に、go ツールを使用してテンプレート ファイルを解析し、AST (抽象構文ツリー) を生成します。この AST を走査することで、すべてのテンプレート識別子を見つけてデータ ソースと比較し、未使用のテンプレート データがあるかどうかを判断できます。この方法はシンプルで効果的ですので、皆さんのお役に立てれば幸いです。
テンプレート文字列があるとします
リーリー提供されるテンプレートデータは
です リーリーここでパニックになるのは、.veg
がテンプレート文字列で使用されていないためです。出来ますか?
go テンプレート (text/template
) を使用しています。
組み込みのサポートはありません。解析されたテンプレートを解析することはできますが、必要以上に複雑になります。また、この種の静的分析は決して実行できないことにも注意してください。テンプレートは実行時パラメーターに基づいてデータにアクセスできますが、すべてを使用するかどうかは実行時にのみ決定でき、実行ごとに異なる場合があります (例: インデックス マッピングを使用できます) value) {{index .someMap .someKey}}
ここで、someKey
は実行時に提供される値です)。
許容可能な解決策は、どの要素がアクセスされたかを追跡するデータ構造を渡すことです。テンプレートの実行後にそれを確認でき、すべてが使用されていない場合は、必要な操作を行うことができます。
たとえば、次の構造は、まだアクセスされていない要素を追跡します:
リーリー使用例:
リーリーこれは出力されます (Go Playground で試してください):
リーリー同じ要素への複数のアクセスを許可するために、2 つのマッピング (m
と remaining
) を使用していることに注意してください。各要素に 1 回しかアクセスできない場合は、単純なマップ (およびそのマップから要素を削除) も機能します。
以上がすべてのテンプレートデータが go テンプレートで使用されているかどうかを確認する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。