Heim > Backend-Entwicklung > Golang > Wie kann ich HTML-Zeilen mithilfe von Golang-Vorlagen mehrmals wiederholen?

Wie kann ich HTML-Zeilen mithilfe von Golang-Vorlagen mehrmals wiederholen?

DDD
Freigeben: 2024-12-16 07:14:14
Original
513 Leute haben es durchsucht

How to Repeat HTML Lines Multiple Times Using Golang Templates?

HTML in Golang-Vorlagen iterieren

Wenn Sie in Golang über eine Liste von Elementen in einer Vorlage iterieren, können Sie den {{Bereich verwenden }} Aktion. Allerdings ist zum Durchlaufen ein Array oder Slice erforderlich. Um eine HTML-Zeile mehrmals zu wiederholen, können wir ein leeres Slice erstellen und es entweder mit einem Nullwert oder bestimmten Werten füllen.

Nullwert-Slice verwenden

Wir kann ein leeres Slice make([]struct{}, n) erstellen, um die Anzahl der benötigten Iterationen darzustellen. Dann verwenden wir in der Vorlage die Syntax {{range}}${}, um über das Slice zu iterieren. Zum Beispiel:

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))
Nach dem Login kopieren

Verwendung eines gefüllten Slice

Alternativ können wir den Slice mit bestimmten Werten füllen. Dieser Ansatz ermöglicht es uns, die Verwendung des Index ($idx) im HTML-Code zu überspringen. Zum Beispiel:

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)
Nach dem Login kopieren

Nullwert-Slice und benutzerdefinierte Funktion verwenden

Eine andere Option besteht darin, eine benutzerdefinierte Funktion zu erstellen, die 1 zum Slice-Index hinzufügt und zurückgibt Ergebnis. Dadurch können Sie die Slice-Indizes verwenden und gleichzeitig die Zahlen um 1 erhöhen. Zum Beispiel:

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))
Nach dem Login kopieren

Diese Ansätze bieten flexible Möglichkeiten, eine HTML-Zeile basierend auf Ihren spezifischen Anforderungen mehrmals zu wiederholen.

Das obige ist der detaillierte Inhalt vonWie kann ich HTML-Zeilen mithilfe von Golang-Vorlagen mehrmals wiederholen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage