首頁 > 後端開發 > Golang > 如何使用「index」函數遍歷 HTML/模板中的平行數組?

如何使用「index」函數遍歷 HTML/模板中的平行數組?

Barbara Streisand
發布: 2024-11-04 12:49:02
原創
240 人瀏覽過

How to Iterate Through Parallel Arrays in HTML/Template using the `index` Function?

使用索引迭代HTML/模板中的平行數組

許多開發場景都涉及使用並行數組,其中兩個或多個數組具有相同的大小,並且它們的元素應該是以同步方式存取。在這種情況下,了解如何迭代這些並行數組變得至關重要。

問題:

如何使用範圍區塊內的索引來迭代HTML 中的並行數組/Template?

嘗試失敗:

此程式碼未能達到預期結果:

{{range $i, $e := .First}}$e - {{index .Second $i}}{{end}}
登入後複製

解:

這裡成功的關鍵是利用索引函數,這是HTML/Template 中預先定義的全域模板函數。它允許透過後續參數對第一個參數進行索引。

index   Returns the result of indexing its first argument by the following arguments. Thus index x 1 2 3 is, in Go syntax, x[1][2][3]. Each indexed item must be a map, slice, or array.
登入後複製

初始程式碼失敗,因為它沒有考慮範圍區塊內點的重新分配。要存取原始點,我們可以利用另一個預先定義的範本函數:

When execution begins, $ is set to the data argument passed to Execute, that is, to the starting value of dot.
登入後複製

程式碼的改進版本變成:

{{range $i, $e := .First}}$e - {{index $.Second $i}}{{end}}
登入後複製

替代方法:

考慮一種更簡潔的方法,定義一個名為zip 的自訂模板函數。此函數將多個切片作為輸入並產生一個成對的切片,一個對應於輸入切片中的每個對應元素。然後可以在模板中使用它來簡化迭代過程。

以上是如何使用「index」函數遍歷 HTML/模板中的平行數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板