Heim > Artikel > Backend-Entwicklung > So passen Sie die Indexausgabe in Go-Vorlagen an: Können Sie in Vorlagen rechnen?
Anpassen der Indexausgabe in Go-Vorlagen: Arithmetik in Vorlagen
In Go-Vorlagen ermöglicht die Bereichsaktion eine bequeme Iteration durch Arrays und bietet sowohl die Element und sein nullbasierter Index. In bestimmten Szenarien müssen Sie jedoch möglicherweise die angezeigten Indizes ändern, um mit einem Wert ungleich Null zu beginnen.
Warum der anfängliche Ansatz fehlschlägt
Zunächst der Versuch Wenn Sie arithmetische Operationen innerhalb der Vorlage ausführen, z. B. „{{$index 1}}“, führt dies zu einem Fehler „Unzulässige Zahlensyntax“. Dies liegt daran, dass die Vorlagensprache von Natur aus keine arithmetischen Operationen unterstützt.
Die Lösung: Benutzerdefinierte Funktionen
Um das gewünschte Verhalten zu erreichen, ist es notwendig, eine benutzerdefinierte Funktion zu definieren das die arithmetische Operation außerhalb der Vorlage ausführt. In diesem Fall erstellen wir eine Funktion namens „inc“, die den angegebenen Index um 1 erhöht.
Hier ist der modifizierte Go-Vorlagencode, der die „inc“-Funktion enthält:
tmpl, err := template.New("test").Funcs(funcMap).Parse( `{{range $index, $element := .}} Number: {{inc $index}}, Text:{{$element}} {{end}}` )
Die Die benutzerdefinierte Funktion ist wie folgt definiert:
func inc(i int) int { return i + 1 }
Verwendung
Um die benutzerdefinierte Funktion zu verwenden, muss sie bei der FuncMap der Vorlage registriert werden. Das bereitgestellte Beispiel initialisiert eine FuncMap und fügt ihr die Funktion „inc“ hinzu, sodass die Vorlage darauf zugreifen kann.
In diesem Szenario iteriert die Vorlage durch einen Abschnitt von Zeichenfolgen und zeigt die geänderten Indizes und entsprechenden Elemente an.
Fazit
Durch die Erstellung benutzerdefinierter Funktionen können Sie die Funktionen von Go-Vorlagen erweitern, um Vorgänge auszuführen, die in der Syntax der Vorlagensprache nicht nativ unterstützt werden. Dies ermöglicht eine größere Flexibilität und ermöglicht komplexe Operationen wie die arithmetische Manipulation innerhalb von Vorlagen.
Das obige ist der detaillierte Inhalt vonSo passen Sie die Indexausgabe in Go-Vorlagen an: Können Sie in Vorlagen rechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!