Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mengulangkan Berbilang Tatasusunan Secara serentak dalam Templat Go?

Bagaimanakah Saya Boleh Mengulangkan Berbilang Tatasusunan Secara serentak dalam Templat Go?

Susan Sarandon
Susan Sarandonasal
2024-12-03 13:36:11723semak imbas

How Can I Iterate Over Multiple Arrays Simultaneously in Go Templates?

Lelaran Berbilang Tatasusunan Bersama-sama dengan Templat Go

Pengaturcaraan Dalam Go, templat menyediakan cara yang berkesan untuk menjana output HTML berdasarkan data. Apabila berurusan dengan berbilang struktur data yang serupa, mungkin sukar untuk mengulanginya secara serentak.

Masalah:
Mari kita pertimbangkan dua struct: Jadual dan Kombo. Kita perlu memaparkan semua Kombo pada halaman HTML, memastikan tatasusunan Bunyi, Jilid dan Tunggu yang sepadan diselaraskan dalam baris.

Analisis:
Adalah penting untuk ambil perhatian bahawa dengan syarat struct Jadual dan Kombo tidak boleh diubah dan tidak boleh diubah suai. Ini bermakna kita memerlukan penyelesaian templat yang bijak yang boleh mengendalikan lelaran serentak berbilang tatasusunan tanpa mengubah struktur data.

Penyelesaian:
Jika tatasusunan mempunyai panjang yang sama, anda boleh menggunakan perkara berikut pendekatan:

{{ $volumes := .Volumes }}
{{ $waits := .Waits }}
{{range $index,$sound := .Sounds }}
  <p>Sound: {{$sound}}, Volume: {{index $volumes $index}}, Wait: {{index $waits $index}}</p>
{{end}}

Penjelasan:

  • Ekstrak tatasusunan Jilid dan Tunggu ke dalam pembolehubah berasingan ($jilid dan $menunggu) untuk pengindeksan yang lebih mudah.
  • Gunakan fungsi indeks untuk mendapatkan semula elemen tertentu daripada tatasusunan ini berdasarkan indeks Bunyi lelaran elemen.

Penyelesaian ini harus menjajarkan data yang dikehendaki dengan betul, menghasilkan output seperti yang diperlukan. Ambil perhatian bahawa pendekatan ini memerlukan ketiga-tiga tatasusunan (Bunyi, Kelantangan dan Tunggu) mempunyai panjang yang sama.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengulangkan Berbilang Tatasusunan Secara serentak dalam Templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn