ホームページ  >  記事  >  バックエンド開発  >  Go テンプレートで範囲とインデックスを使用して並列配列を反復処理する方法は?

Go テンプレートで範囲とインデックスを使用して並列配列を反復処理する方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-04 12:59:29695ブラウズ

How to Iterate Through Parallel Arrays with Range and Index in Go Templates?

範囲とインデックスを使用した並列配列の反復処理

同じサイズの 2 つの並列配列を反復処理し、両方の配列の項目をリストするにはどうすればよいですか同時に range を使用していますか?

次のコードは、失敗した試行を示しています:

<code class="go">{{range $i, $e := .First}}{{ $e }} - {{ index .Second $i }}{{end}}</code>

この課題に対処するために、事前定義されたグローバル テンプレート関数、index を利用できます。この関数を使用すると、Go でのインデックス付けの仕組みと同様に、最初の引数に後続の引数をインデックス付けできます。

<code class="go">index x 1 2 3</code>

は次と同等です。

<code class="go">x[1][2][3]</code>

ただし、範囲ブロック内では、ドットが再割り当てされました。元のドットに戻るには、最初に $ を Execute に渡されるデータ引数に設定する組み込みテンプレート機能を使用します。したがって、次のようにコードを変更できます。

<code class="go">{{range $i, $e := .First}}{{$e}} - {{index $.Second $i}}{{end}}</code>

これの代わりに、複数のスライスを値ペアのスライスに変換する zip というテンプレート関数を作成する方がきれいな場合があります。

以上がGo テンプレートで範囲とインデックスを使用して並列配列を反復処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。