Heim >Backend-Entwicklung >Golang >Wie kann ich mit Go Werte in HTML-Vorlagen berechnen?

Wie kann ich mit Go Werte in HTML-Vorlagen berechnen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-03 09:10:11972Durchsuche

How can I Calculate Values in HTML Templates Using Go?

Werte in HTML-Vorlagen mit Go berechnen

Bei der Arbeit mit Go-Vorlagen ist es oft notwendig, Berechnungen innerhalb der Vorlage durchzuführen. Eine häufige Aufgabe ist die Berechnung des Index des letzten Elements in einer Karte. Obwohl das bereitgestellte Beispiel mit {{ $length -1 }} falsch ist, gibt es alternative Lösungen.

Vorlageneinschränkungen

Es ist wichtig zu bedenken, dass dies bei Go-Vorlagen nicht der Fall ist Entwickelt für komplexe Logik. Vorlagenberechnungen sollten einfach gehalten werden und alle komplexen Vorgänge sollten außerhalb der Vorlage durchgeführt werden.

Übergabe berechneter Werte

Der bevorzugte Ansatz besteht darin, die Werte und Werte vorab zu berechnen Übergeben Sie sie als Parameter an die Vorlage. Dies gewährleistet die Trennung von Logik und Darstellung.

Registrieren benutzerdefinierter Funktionen

Eine weitere Möglichkeit besteht darin, benutzerdefinierte Funktionen zu registrieren, die Vorlagenparameter akzeptieren und Berechnungen durchführen. Diese Funktionen können innerhalb der Vorlage aufgerufen werden, ihnen Werte übergeben und berechnete Ergebnisse zurückgeben.

Beispiel

package template

import (
    "html/template"
)

// Register a custom function to calculate the last index.
func LastIndex(m map[string]interface{}) int {
    return len(m) - 1
}

func main() {
    m := map[string]interface{}{"key1": "value1", "key2": "value2"}

    // Parse a template and register the custom function.
    tmpl, err := template.New("").Funcs(template.FuncMap{"LastIndex": LastIndex}).Parse("{{ LastIndex . }}")
    if err != nil {
        // Handle error.
    }

    // Execute the template.
    if err = tmpl.Execute(m, nil); err != nil {
        // Handle error
    }
}

In diesem Beispiel wird die LastIndex-Funktion registriert bei die Vorlage. Innerhalb des HTML kann die benutzerdefinierte Funktion wie folgt verwendet werden:

<p>The last index of this map is: {{ LastIndex . }}</p>

Zusätzliche Ressourcen

  • [Go-Vorlagen (und Übergabe von Funktionen an Vorlage)](https://groups.google.com/g/golang-nuts/c/ZmW3hDtE07Q/m/T0ftq_MKD6kJ)
  • [Wie greife ich über eine Variable in auf ein Objektfeld zu Vorlage?](https://stackoverflow.com/questions/33503055/how-do-i-access-object-field-by-variable-in-template)
  • [Iterate Go Map Get Index]( https://stackoverflow.com/questions/38154785/iterate-go-map-get-index)

Das obige ist der detaillierte Inhalt vonWie kann ich 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