Heim > Backend-Entwicklung > Golang > Wie kann ich mehrere Datenobjekte an Go-Vorlagen übergeben?

Wie kann ich mehrere Datenobjekte an Go-Vorlagen übergeben?

Susan Sarandon
Freigeben: 2024-12-19 21:22:10
Original
666 Leute haben es durchsucht

How Can I Pass Multiple Data Objects to Go Templates?

Übergabe mehrerer Daten an Go-Vorlagen

Die Vorlagenausführung in Go ermöglicht Ihnen die Übergabe eines einzelnen Werts, dieser Wert kann jedoch ein zusammengesetzter Typ sein mehrere Komponenten enthaltend. Dies bietet mehrere Optionen für die Übergabe und den Zugriff auf verschiedene Datenobjekte in der Vorlage.

Zusammengesetzter Wert mithilfe von Struct:

Erstellen Sie einen benutzerdefinierten Strukturdatentyp, der die gewünschten Daten kapselt:

type Data struct {
    Results []User
    Other   []int
}
Nach dem Login kopieren

Daten zuweisen und Vorlage ausführen:

data := &Data{results, []int{1, 2, 3}}
if err := GetTemplate("list").Execute(w, data); err != nil {
    // Handle error
}
Nach dem Login kopieren

In Greifen Sie in der Vorlage auf die MongoDB-Ergebnisse als {{.Results}} und auf das Ganzzahlarray als {{.Other}} zu.

Zusammengesetzter Wert mithilfe der Karte:

Alternativ , erstellen Sie eine Karte mit den Daten:

m := map[string]interface{}{
    "Results": results,
    "Other":   []int{1, 2, 3},
}
Nach dem Login kopieren

Übergeben Sie die Karte an die Vorlage und greifen Sie mithilfe der Punktnotation auf die Daten zu: {{.Results}} für Ergebnisse und {{.Other}} für das Ganzzahl-Array.

Zusammengesetzter Wert mit Slice:

Ein weniger lesbarer Ansatz ist die Verwendung ein Slice mit den Daten:

s := []interface{}{
    results,
    []int{1, 2, 3},
}
Nach dem Login kopieren

Indizieren Sie die Vorlagendaten, um auf die Komponenten zuzugreifen: {{index . 0}} für Ergebnisse und {{index . 1}} für das Integer-Array.

Zusätzliche Hinweise:

Bedenken Sie, dass der Datentyp exportiert werden muss, um in der Vorlage zugänglich zu sein.

Erwägen Sie die Verwendung einer Struktur oder Karte, um die Lesbarkeit und Wartbarkeit zu verbessern.

Es gibt auch andere Ansätze, die für diesen speziellen Fall jedoch weniger praktisch sind Szenario.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Datenobjekte an Go-Vorlagen übergeben?. 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