Go テンプレートでは、複数の配列を同時に反復する必要がよくあります。これは、特に配列の長さが異なる場合や、簡単に再構築できない場合に困難になる可能性があります。この課題を克服し、複数の配列を効率的に反復処理する方法に関する包括的なガイドを次に示します。
次のシナリオを考えてみましょう。
Schedule と という 2 つの構造体があります。 Combo。Schedule には Combo 構造体の配列が含まれます。各コンボを反復処理し、そのサウンド、音量、待機データを HTML ページに表示する必要があります。ただし、配列にはさまざまな長さが含まれており、構造体はプロジェクト内の他の場所で使用されているため変更できません。
この問題を解決するには、「マルチレンジ」を使用できます。ループ手法。これにより、複数の配列を同時に反復処理できます。方法は次のとおりです:
{{range .Schedule.Combos}} <div class="container"> <div class="row"> <div class="card mt-2 ml-2"> <div class="card-body"> <h5 class="card-title"> <strong>Timing</strong> </h5> <h5 class="card-text"> Play every {{.Every}} mins </h5> <h5 class="card-text"> From time {{TimeOfDayToString .From}} </h5> <h5 class="card-text"> Until {{TimeOfDayToString .Until}} </h5> </div> </div> <div class="col"> <div class="card mt-2"> <div class="card-body"> <h5 class="card-title"> <strong>Sounds</strong> </h5> {{ $volumes := .Volumes }} {{ $waits := .Waits }} {{range $index,$sound := .Sounds }} <h5 class="card-text"> Sound {{.}} Volume {{index $volumes $index}} Wait {{index $waits $index}} </h5> {{end}} </div> </div> </div> </div> </div> {{end}}
上記のテンプレートでは:
以上がGo テンプレートで長さが等しくない複数の配列を同時に反復処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。