Heim > Backend-Entwicklung > Golang > Wie greife ich in Go-Vorlagen auf das Namensfeld des ersten Elements in einem Array zu?

Wie greife ich in Go-Vorlagen auf das Namensfeld des ersten Elements in einem Array zu?

Barbara Streisand
Freigeben: 2024-11-08 11:51:02
Original
429 Leute haben es durchsucht

How to Access the Name Field of the First Element in an Array in Go Templates?

Zugriff auf den Wert des ersten Index eines Arrays in Go-Vorlagen

Bei der Verwendung von HTML-Vorlagen mit Go kann es zu Situationen kommen, in denen Sie Sie müssen auf den Wert des ersten Index eines Arrays zugreifen. Um dieser Herausforderung zu begegnen, untersuchen wir die richtige Syntax zum Extrahieren der gewünschten Daten.

Der bereitgestellte Codeausschnitt veranschaulicht einen Versuch, auf das Namensfeld des ersten Elements in einem Array innerhalb der Vorlage zuzugreifen:

<div>Foobar {{ index .Doc.Users 0}}'</div>
Nach dem Login kopieren

Dieser Ansatz führt jedoch nicht zum gewünschten Ergebnis, da {{ index .Doc.Users 0}} das gesamte erste Element des Arrays zurückgibt, einschließlich der Felder „Name“ und „E-Mail“. Um nur das Feld „Name“ zu erhalten, müssen Sie den Ausdruck gruppieren und den .Name-Selektor wie folgt anwenden:

<div>Foobar {{ (index .Doc.Users 0).Name }}</div>
Nach dem Login kopieren

In dieser verbesserten Syntax gibt die Indexfunktion das erste Element des Doc.Users-Arrays zurück. das dann in Klammern gesetzt wird, um den Ausdruck zu gruppieren und anschließend Zugriff auf das Feld „Name“ zu ermöglichen.

Für Beispiel:

type User struct {
    Name  string
    Email string
}

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: "user1@example.com"},
            {Name: "Alice", Email: "user2@example.com"},
        },
    },
}

fmt.Println(t.Execute(os.Stdout, m))
Nach dem Login kopieren

Ausgabe:

<div>Foobar Bob</div><nil>
Nach dem Login kopieren

Dieser aktualisierte Code erzeugt die gewünschte Ausgabe, wobei das Namensfeld des ersten Elements im Doc.Users-Array erfolgreich innerhalb der Vorlage abgerufen wird .

Das obige ist der detaillierte Inhalt vonWie greife ich in Go-Vorlagen auf das Namensfeld des ersten Elements in einem Array zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage