Heim > Artikel > Backend-Entwicklung > Wie vermeide ich ein Komma nach dem letzten Element in einem Go-Vorlagenbereich?
In Go-Vorlagen wird beim Durchlaufen eines Arrays mithilfe des Schlüsselworts „range“ automatisch ein Kommatrennzeichen eingefügt zwischen jedem Element. Während dieses Verhalten in den meisten Fällen nützlich ist, kann es zu einem Problem werden, wenn die gewünschte Ausgabe einen Punkt anstelle eines Kommas nach dem letzten Element erfordert.
Betrachten Sie das folgende Programm:
<code class="go">package main import ( "os" "text/template" ) func main() { params := map[string]interface{}{ "items": [3]int{1, 4, 2}, } tpl := "{{range $i, $el := .items}}{{$el}},{{end}}" lister, _ := template.New("foo").Parse(tpl) lister.Execute(os.Stdout, params) }</code>
Dieses Programm gibt Folgendes aus:
1,4,2,
Beachten Sie, dass nach dem letzten Element (2) ein Komma steht. Allerdings würden wir die Ausgabe wie folgt bevorzugen:
1,4,2.
Um dies zu erreichen, können wir die Vorlage wie folgt ändern:
<code class="go">tpl := "{{range $i, $el := .items}}{{if $i}},{{end}}{{$el}}{{end}}."</code>
Der Hauptunterschied hier ist die Einführung von { {if $i}},{{end}} Konstrukt. Diese bedingte Anweisung prüft, ob die aktuelle Schleifeniteration nicht die erste ist, und gibt in diesem Fall ein Komma aus. Dadurch wird sichergestellt, dass ein Komma nur zwischen Elementen im Array eingefügt wird und nicht nach dem letzten Element.
Durch die Einbeziehung dieser Änderung gibt das Programm nun Folgendes aus:
1,4,2.
Das obige ist der detaillierte Inhalt vonWie vermeide ich ein Komma nach dem letzten Element in einem Go-Vorlagenbereich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!