Heim >Backend-Entwicklung >Golang >Wie können Sie mit Go Werte in HTML-Vorlagen berechnen?
Werte in HTML-Vorlagen mit Go berechnen
Bei der Arbeit mit HTML-Vorlagen in Go kann es vorkommen, dass Sie in Situationen Berechnungen durchführen müssen die Vorlage selbst. Die von Ihnen angegebene Syntax „{{ $length -1 }}“ funktioniert jedoch nicht, da Vorlagen nicht für die Verwendung für komplexe Logik gedacht sind.
Um Werte in einer Vorlage zu berechnen, stehen Ihnen zwei Hauptfunktionen zur Verfügung Optionen:
Der bevorzugte und einfachere Ansatz besteht darin, die Werte außerhalb der Vorlage zu berechnen und als Parameter zu übergeben . Wenn Sie beispielsweise eine Karte haben und den letzten Index berechnen möchten, können Sie dies im Controller tun und das Ergebnis wie folgt an die Vorlage übergeben:
func IndexHandler(w http.ResponseWriter, r *http.Request) { m := make(map[string]string) // ... populate map ... lastIdx := len(m) - 1 data := struct { LastIdx int }{ LastIdx: lastIdx, } t, err := template.ParseFiles("template.html") if err != nil { // Handle error } t.Execute(w, data) }
In der Vorlage können Sie einfach verwenden {{.LastIdx}} zum Rendern des berechneten letzten Index.
Wenn Sie komplexere Berechnungen benötigen oder möchten Um sie innerhalb der Vorlage auszuführen, können Sie benutzerdefinierte Funktionen registrieren und sie dann über die Vorlage aufrufen. Verwenden Sie dazu den Typ template.FuncMap und registrieren Sie die Funktionen wie folgt:
func init() { template.Funcs["subtractOne"] = func(x int) int { return x - 1 } }
In der Vorlage können Sie die Funktion dann wie folgt aufrufen:
{{ $lastIdx := subtractOne (len .) }} <p>The last index of this map is: {{ $lastIdx }} </p>
Das wird Ziehen Sie eins von der Länge der Karte ab und speichern Sie das Ergebnis in der Variablen $lastIdx.
Bedenken Sie, dass Vorlagen keine vollwertigen Programmiersprachen sind und ihr Hauptzweck darin besteht, Daten darzustellen. Komplexe Logik sollte außerhalb der Vorlage oder über benutzerdefinierte Funktionen gehandhabt werden.
Das obige ist der detaillierte Inhalt vonWie können Sie mit Go Werte in HTML-Vorlagen berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!