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?

questionAnswers(3)

yourAnswerToTheQuestion