Templat Pergi: Mengulang Berbilang Tatasusunan Serentak
Semasa mengerjakan projek, anda mungkin menghadapi keperluan untuk mengulangi berbilang tatasusunan serentak dalam Pergi templat. Keadaan ini timbul apabila anda mempunyai struktur data seperti di bawah dan memerlukan setiap elemen daripada tatasusunan ini untuk dikumpulkan bersama dalam output.
type Schedule struct { Description string ControlNights int PlayNights int StartDay int Combos []Combo } type Combo struct { From time.Time Every int Until time.Time Sounds []string Volumes []int Waits []int }
Lelaran Atas Gabungan
Untuk memaparkan data bagi setiap kombo secara individu, anda boleh menggunakan gelung julat yang berulang pada tatasusunan Jadual.Kombo. Ini akan berulang melalui setiap kombo. Walau bagaimanapun, ini tidak mencukupi untuk memaparkan data yang anda perlukan.
Menggabungkan Tatasusunan ke dalam Baris
Untuk mengumpulkan data daripada tatasusunan berbeza ke dalam baris, di mana setiap baris mengandungi data daripada Bunyi tatasusunan , Jilid dan Menunggu, anda boleh menggunakan templat dinamik. Teknik ini membolehkan anda memanipulasi dan mengubah suai data dalam templat itu sendiri.
Templat Dinamik untuk Pengumpulan
Pertimbangkan templat berikut:
{{ range .Schedule.Combos }} <div class="container"> <div class="row"> <div class="col"> <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> <div class="col"> <div class="card mt-2"> <div class="card-body"> <h5 class="card-title"><strong>Sounds</strong></h5> {{ range .Sounds }} <h5 class="card-text">Sound {{.}}</h5> {{ end }} </div> </div> </div>
Untuk mengumpulkan Bunyi, Jilid dan Tunggu bersama-sama, anda boleh membuat pembolehubah templat baharu yang menggabungkan ketiga-tiganya tatasusunan.
{{ $mergedArrays := .Sounds, .Volumes, .Waits }}
Lelaran Atas Tatasusunan Gabungan
Dengan tatasusunan gabungan yang tersedia, anda boleh mengulanginya menggunakan gelung bersarang:
{{ range $index, $mergedArray := $mergedArrays }} {{ $sound := $mergedArray[0] }} {{ $volume := $mergedArray[1] }} {{ $wait := $mergedArray[2] }} <li>{{ $sound }} - {{ $volume }} - {{ $wait }}</li> {{ end }}
Dalam gelung bersarang ini, anda mengakses elemen individu tatasusunan gabungan dan memaparkannya dengan sewajarnya.
Pendekatan ini membolehkan anda mengumpulkan data daripada tatasusunan Sounds, Volumes dan Waits ke dalam baris yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana untuk Mengulangi Berbilang Tatasusunan Secara serentak dalam Templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!