インデックスを使用して HTML テンプレートで並列配列を反復処理する方法
この記事では、(同じサイズの) 並列配列を反復処理する際の難しさを扱います。 HTML テンプレートで。具体的には、これを実現するために range ブロック内でインデックス関数を利用する方法です。
インデックス関数は、指定されたインデックスに基づいてマップ、スライス、または配列から項目を取得する、事前定義されたグローバル テンプレート関数です。この関数を使用すると、テンプレート内のデータ構造内で複雑なナビゲーションが可能になります。
並列配列を反復処理するコンテキストでは、インデックス関数が使用されるコンテキストに注意する必要があります。デフォルトでは、範囲ブロック内のドット (${}) は、反復される配列内の現在の要素を参照します。ただし、他の配列のデータにアクセスするには、Execute 関数に渡されたデータ引数を表す元のドットに戻す必要があります。
したがって、解決策は、元のドット ($) を使用することです。インデックス式のドットの代わりに:
{{range $i, $e := .First}}{{$e}} - {{index $.Second $i}}{{end}}
この調整により、インデックス関数が元のデータ引数を参照するようになり、配列の並列反復が可能になります。
この問題に取り組むもう 1 つのアプローチは、次のように定義することです。 zip というカスタム テンプレート関数。入力として複数のスライスを受け取り、値のペアのスライスを返します。このような関数はテンプレート コードを簡素化し、おそらく他のコンテキストで再利用できるでしょう。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3