Heim > Artikel > Backend-Entwicklung > Wie greife ich in Go-Vorlagen auf den Wert des ersten Index eines Arrays zu?
Zugriff auf den Wert des ersten Index eines Arrays in Go-Vorlagen
Bei der Arbeit mit HTML-Vorlagen in Go kann es zu einer Herausforderung kommen des Zugriffs auf den Wert des ersten Index eines in die Vorlage eingebetteten Arrays. Betrachten Sie den folgenden Vorlagencode:
<div>Foobar {{ index .Doc.Users 0 }}</div>
Hier möchten Sie den Wert des Felds „Name“ für das erste Element im Slice „Doc.Users“ erhalten. Mehrere Versuche mit unterschiedlicher Syntax waren jedoch erfolglos.
Die korrekte Syntax zum Abrufen des Felds „Name“ des ersten Elements im Array „Doc.Users“ lautet:
<div>Foobar {{ (index .Doc.Users 0).Name }}</div>
Um diese Syntax zu verstehen, brechen wir sie auf:
Durch Gruppieren des Ausdrucks und Anwenden des Selektors können Sie effektiv auf das gewünschte Feld „Name“ zugreifen.
Hier ist ein Beispielcode, den Sie ausführen können, um diese Lösung zu testen:
package main import ( "fmt" "html/template" "os" ) type User struct { Name string Email string } func main() { t := template.Must(template.New("").Parse(` <div>Foobar {{ (index .Doc.Users 0).Name }}</div> `)) m := map[string]interface{}{ "Doc": map[string]interface{}{ "Users": []User{ {Name: "Bob", Email: "[email protected]"}, {Name: "Alice", Email: "[email protected]"}, }, }, } fmt.Println(t.Execute(os.Stdout, m)) }
Dieser Code erzeugt die folgende Ausgabe, die den erfolgreichen Zugriff auf das Feld „Name“ des ersten Benutzers im Slice „Doc.Users“ demonstriert:
<div>Foobar Bob</div>
Das obige ist der detaillierte Inhalt vonWie greife ich in Go-Vorlagen auf den Wert des ersten Index eines Arrays zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!