Heim >Backend-Entwicklung >Golang >Wie können Sie mit Go Werte in HTML-Vorlagen berechnen?

Wie können Sie mit Go Werte in HTML-Vorlagen berechnen?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-15 05:37:02550Durchsuche

How Can You Calculate Values in HTML Templates with Go?

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:

  1. Berechnete Ergebnisse als Parameter übergeben:

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.

  1. Benutzerdefinierte Funktionen registrieren:

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!

Stellungnahme:
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