Tukar atau jika/elseif/else dalam Templat HTML Golang
Masalah:
Memaparkan data dalam templat berdasarkan jenis medan struct Go. Penyelesaian semasa melibatkan bersarang berbilang {{if}} pernyataan atau mencipta fungsi berasingan untuk menguji jenis.
Penyelesaian:
Tukar Pernyataan:
{{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}}
jika/elseif/else Pernyataan:
{{range .Paragraphs}} {{if .IsAttachment}} -- attachment presentation code -- {{elseif .IsMenu}} -- menu -- {{else}} -- default code -- {{end}} {{end}}
Dalam contoh ini, tambahan {{else if .IsMenu}} menyemak jenis paragraph_menu selepas menyemak perenggan_attachment.
Penggunaan Fungsi :
Dalam kes di mana logik pembentangan adalah rumit, adalah dinasihatkan untuk menentukan fungsi berasingan dalam kod Go. Sebagai contoh, anda boleh mentakrifkan fungsi seperti GetHypothesisHTML() dan GetAttachmentHTML(), kemudian memanggilnya daripada templat:
{{range .Paragraphs}} {{if .IsHypothesis}} {{GetHypothesisHTML .}} {{elseif .IsAttachment}} {{GetAttachmentHTML .}} {{elseif .IsMenu}} -- menu -- {{else}} -- default code -- {{end}} {{end}}
Dengan memanfaatkan penyataan suis, penyataan if/elseif/else atau fungsi khusus, anda boleh paparkan data dalam templat anda berdasarkan jenis medan struct Go dengan cara yang bersih dan ringkas.
Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Data dalam Templat HTML Go Berdasarkan Jenis Medan Struktur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!