Heim >Backend-Entwicklung >Golang >Wie zeige ich Daten in Go-HTML-Vorlagen basierend auf dem Strukturfeldtyp an?
Umschalten oder if/elseif/else innerhalb von Golang-HTML-Vorlagen
Problem:
Anzeige Daten in einer Vorlage basierend auf dem Typ eines Go-Strukturfelds. Die aktuelle Lösung besteht darin, mehrere {{if}}-Anweisungen zu verschachteln oder separate Funktionen zu erstellen, um den Typ zu testen.
Lösung:
Switch-Anweisung:
{{range .Paragraphs}} {{switch .Type}} {{case paragraph_hypothesis}}: -- hypothesis presentation code -- {{case paragraph_attachment}}: -- attachment presentation code -- {{case paragraph_menu}}: -- menu -- {{default}}: -- default code -- {{end}} {{end}}
if/elseif/else Aussage:
{{range .Paragraphs}} {{if .IsAttachment}} -- attachment presentation code -- {{elseif .IsMenu}} -- menu -- {{else}} -- default code -- {{end}} {{end}}
In diesem Beispiel prüft das zusätzliche {{else if .IsMenu}} nach der Prüfung auf „paragraph_attachment“ den Typ „paragraph_menu“.
Verwendung von Funktionen :
In Fällen, in denen die Präsentationslogik komplex ist, empfiehlt es sich, separate Funktionen im zu definieren Gehen Sie Code. Sie könnten beispielsweise Funktionen wie GetHypothesisHTML() und GetAttachmentHTML() definieren und sie dann über die Vorlage aufrufen:
{{range .Paragraphs}} {{if .IsHypothesis}} {{GetHypothesisHTML .}} {{elseif .IsAttachment}} {{GetAttachmentHTML .}} {{elseif .IsMenu}} -- menu -- {{else}} -- default code -- {{end}} {{end}}
Durch die Nutzung von Switch-Anweisungen, if/elseif/else-Anweisungen oder dedizierten Funktionen können Sie dies tun Zeigen Sie Daten in Ihrer Vorlage basierend auf dem Typ eines Go-Strukturfelds auf saubere und prägnante Weise an.
Das obige ist der detaillierte Inhalt vonWie zeige ich Daten in Go-HTML-Vorlagen basierend auf dem Strukturfeldtyp an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!