首頁 >後端開發 >Golang >如何在 Go 模板中同時迭代多個陣列?

如何在 Go 模板中同時迭代多個陣列?

Susan Sarandon
Susan Sarandon原創
2024-12-03 13:36:11662瀏覽

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

使用 Go 模板迭代多個數組

在 Go 程式設計中,模板提供了一種基於資料生成 HTML 輸出的強大方法。在處理多個相似的資料結構時,同時迭代它們可能具有挑戰性。

問題:
讓我們考慮兩個結構:Schedule 和 Combo。我們需要在 HTML 頁面上顯示所有 Combo,並確保相應的 Sounds、Volumes 和 Waits 陣列按行對齊。

分析:
需要注意的是,提供的 Schedule 和 Combo 結構是不可變的且無法修改。這意味著我們需要一個巧妙的模板解決方案,可以在不改變資料結構的情況下處理多個數組的同時迭代。

解決方案:
如果數組具有相同的長度,則可以利用以下方法:

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

解釋:

  • 將Volumes 和Waits 陣列提取到單獨的變數($volumes和 $waits)中,以便於索引。
  • 使用索引函數根據迭代聲音的索引從這些數組中檢索特定元素element.

此解決方案應正確對齊所需的數據,從而產生所需的輸出。請注意,此方法要求所有三個陣列(聲音、音量和等待)具有相同的長度。

以上是如何在 Go 模板中同時迭代多個陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn