Mühsamer Vorgang mit Go-Vorlage
Beim Versuch, eine bedingte Prüfung in einer Go-Vorlage durchzuführen, können unerwartete Probleme auftreten. Stellen Sie sich das folgende Szenario vor:
Sie haben eine Struktur namens Category mit einem Bool-Feld namens isOrientRight deklariert. Innerhalb einer Bereichsschleife, die über ein Segment von Kategoriestrukturen iteriert, versuchen Sie, {{if}}-Anweisungen zu verwenden, um die Ausgabe basierend auf dem Wert von isOrientRight zu steuern. Die Vorlage zeigt jedoch nur eine leere Seite an.
Die Lösung
Um dieses Problem zu lösen, müssen Sie die Felder der Kategoriestruktur exportieren, indem Sie ihre Anfangsbuchstaben großschreiben . Standardmäßig kann auf nicht exportierte Felder (die mit Kleinbuchstaben beginnen) nur innerhalb des Pakets zugegriffen werden, das den Typ deklariert. In diesem Fall sind text/template und html/template separate Pakete, daher müssen Sie die Felder exportieren, um ihnen den Zugriff zu ermöglichen.
Hier ist der aktualisierte Code:
type Category struct { ImageURL string
Das obige ist der detaillierte Inhalt vonWarum wertet meine Go-Vorlage keine Bedingungen mit nicht exportierten Feldern aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!