Przełącz lub if / elseif / else wewnątrz szablonów HTML golang
Mam tę strukturę:
const (
paragraph_hypothesis = 1<<iota
paragraph_attachment = 1<<iota
paragraph_menu = 1<<iota
)
type Paragraph struct {
Type int // paragraph_hypothesis or paragraph_attachment or paragraph_menu
}
Chcę wyświetlić moje akapity wType
sposób zależny.
Jedyne rozwiązanie, które znalazłem, opierało się na dedykowanych funkcjachisAttachment
testowanieType
w Go i zagnieżdżone{{if}}
:
{{range .Paragraphs}}
{{if .IsAttachment}}
-- attachement presentation code --
{{else}}{{if .IsMenu}}
-- menu --
{{else}}
-- default code --
{{end}}{{end}}
{{end}}
W rzeczywistości mam więcej typów, co czyni go jeszcze dziwniejszym, zaśmiecając zarówno kod GoIsSomething
funkcje i szablon z tymi{{end}}
.
Jakie jest czyste rozwiązanie? Jest tam trochęswitch
lubif/elseif/else
rozwiązania w szablonach go? Lub zupełnie inny sposób radzenia sobie z tymi przypadkami?