在 Go 範本中,常常需要同時迭代多個陣列。這可能是一個挑戰,特別是當數組具有不同長度或無法輕鬆重組時。這是關於如何克服這項挑戰並有效地迭代多個陣列的綜合指南。
考慮以下場景:
您有兩個結構體, Schedule 和Combo,其中 Schedule 包含 Combo 結構陣列。您需要迭代每個 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中文網其他相關文章!