Templat Dalam Go, keperluan sering timbul untuk mengulangi berbilang tatasusunan serentak. Ini boleh menjadi satu cabaran, terutamanya apabila tatasusunan mempunyai panjang yang berbeza atau tidak boleh distruktur semula dengan mudah. Berikut ialah panduan komprehensif tentang cara mengatasi cabaran ini dan lelaran dengan cekap pada berbilang tatasusunan bersama-sama.
Pertimbangkan senario berikut:
Anda mempunyai dua struct, Jadual dan Combo, di mana Jadual mengandungi pelbagai struct Combo. Anda perlu mengulangi setiap Kombo dan memaparkan data Bunyi, Jilid dan Waits pada halaman HTML. Walau bagaimanapun, tatasusunan mengandungi panjang yang berbeza-beza, dan anda tidak boleh mengubah suai struct kerana ia digunakan di tempat lain dalam projek.
Untuk menyelesaikan masalah ini, kita boleh menggunakan "berbilang julat" teknik gelung, yang membolehkan kami mengulangi berbilang tatasusunan secara serentak. Begini caranya:
{{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}}
Dalam templat di atas:
Atas ialah kandungan terperinci Bagaimana untuk Mengulangi Berbilang Tatasusunan yang Tidak Sama Panjang Secara serentak dalam Templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!