首頁 > 後端開發 > Golang > 如何使用 Golang 範本多次重複 HTML 行?

如何使用 Golang 範本多次重複 HTML 行?

DDD
發布: 2024-12-16 07:14:14
原創
513 人瀏覽過

How to Repeat HTML Lines Multiple Times Using Golang Templates?

在Golang 模板中迭代HTML

在Golang 中,當迭代模板中的元素列表時,您可以使用{{range } } 行動。但是,它需要一個數組或切片來迭代。要重複 HTML 行,我們可以多次建立一個空切片並用零值或特定值填充它。

用零值切片

我們可以建立一個空切片 make([]struct{}, n) 來表示我們需要的迭代次數。然後,在模板中,我們使用 {{range}}${} 語法來迭代切片。例如:

tmpl := template.Must(template.New("").Parse(`
<ul>
{{range $idx, $e := .}}
    <li><a href="/?p={{idx}}">{{$idx}}</a></li>
{{end}}
</ul>`))
n := 5
tmpl.Execute(w, make([]struct{}, n))
登入後複製

使用填充切片

或者,我們可以用特定值填滿切片。這種方法允許我們跳過在 HTML 程式碼中使用索引 ($idx)。例如:

tmpl := template.Must(template.New("").Parse(`
<ul>
{{range .}}
    <li><a href="/?p={{.}}">{{.}}</a></li>
{{end}}
</ul>`))
values := make([]int, 5)
for i := range values {
    values[i] = i + 1
}
tmpl.Execute(w, values)
登入後複製

使用零值切片和自訂函數

另一個選項是建立一個自訂函數,將1 加到切片索引並傳回結果。這允許您在將數字遞增 1 的同時使用切片索引。例如:

tmpl := template.Must(template.New("").Funcs(template.FuncMap{
    "Add": func(i int) int { return i + 1 },
}).Parse(`
<ul>
{{range $idx, $e := .}}{{$idx := (Add $idx)}}
    <li><a href="/?p={{$idx}}">{{$idx}}</a></li>
{{end}}
</ul>`))
n := 5
tmpl.Execute(w, make([]struct{}, n))
登入後複製

這些方法提供了根據您的特定要求多次重複 HTML 行的靈活方法。

以上是如何使用 Golang 範本多次重複 HTML 行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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