首頁 >後端開發 >Golang >如何在 Go 模板中使用範圍和索引迭代並行數組?

如何在 Go 模板中使用範圍和索引迭代並行數組?

Patricia Arquette
Patricia Arquette原創
2024-11-04 12:59:29751瀏覽

How to Iterate Through Parallel Arrays with Range and Index in Go Templates?

迭代具有範圍和索引的並行數組

我們如何迭代兩個具有相同大小的並行數組並列出兩個數組中的項目

以下代碼示範了一次不成功的嘗試:

<code class="go">{{range $i, $e := .First}}{{ $e }} - {{ index .Second $i }}{{end}}</code>

為了解決這個挑戰,我們可以利用預先定義的全域模板函數index.這個函數允許我們用後續參數索引第一個參數,類似於Go 中索引的工作方式。

<code class="go">index x 1 2 3</code>

相當於:

<code class="go">x[1][2][3]</code>

但是,在範圍區塊內,點已被重新分配。為了回到原始點,我們使用內建模板功能,將 $ 最初設定為傳遞給 Execute 的資料參數。因此,我們可以修改我們的程式碼:

<code class="go">{{range $i, $e := .First}}{{$e}} - {{index $.Second $i}}{{end}}</code>

作為替代方案,創建一個名為 zip 的模板函數將多個切片轉換為值對切片可能會更簡潔。

以上是如何在 Go 模板中使用範圍和索引迭代並行數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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