Go テンプレートで反復表示する配列を結合する
提供されたコードでは、2 つの Go 構造体 (Schedule と Combo) のコレクションからのデータを表示する必要があります。 HTML テンプレート内。要件は、Combo 構造体を反復処理し、同時にその構造体内の配列 (つまり、サウンド、ボリューム、待機) から値を抽出して、HTML テーブル内で個別に表示することです。
Go テンプレートでは、次のことを実現できます。これには、index 関数を使用して配列の要素にアクセスします。この関数は、配列を最初の引数として、要素のインデックスを 2 番目の引数として受け取ります。たとえば、$volumes がボリュームの配列の場合、{{index $volumes 0}} を使用してインデックス 0 のボリュームにアクセスできます。
このアプローチを組み込んだ更新されたコード スニペットは次のとおりです。
{{ $volumes := .Volumes }} {{ $waits := .Waits }} {{range $index,$sound := .Sounds }} Print Sounds[i] like this: {{$sound}} Print volumes[i] like this: {{index $volumes $index}} Print waits[i] like this: {{index $waits $index}} {{end}}
このコードは、まず Volumes 配列と Waits 配列の要素をそれぞれ $volumes と $waits に割り当てます。次に、$index と $sound をループ変数として使用して Sounds の要素を反復処理します。ループ内では、{{index $volumes $index}} を使用してボリュームの対応する値にアクセスし、{{index $waits $index}} を使用して待機の対応する値にアクセスできます。このループを適切な HTML 要素と組み合わせることで、目的の形式でテーブルを出力できます。
このソリューションにより、追加のデータ構造を作成したり、既存のデータ構造を変更したりする必要がなくなります。これにより、提供されたデータ構造を直接操作して、HTML テンプレートで目的のプレゼンテーションを実現できます。
以上がGo テンプレートで複数の配列のデータを同時に反復して表示する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。