Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengendalikan Rendering Bersyarat dalam Templat HTML Go dengan Else If?

Bagaimana untuk Mengendalikan Rendering Bersyarat dalam Templat HTML Go dengan Else If?

Mary-Kate Olsen
Lepaskan: 2024-11-13 08:03:02
asal
1048 orang telah melayarinya

How to Handle Conditional Rendering in Go HTML Templates with Else If?

Mengendalikan Rendering Bersyarat dalam Templat HTML Go

Apabila memaparkan templat HTML dalam Go, selalunya perlu untuk memaparkan kandungan secara berbeza berdasarkan syarat tertentu. Satu pendekatan biasa ialah menggunakan binaan bersarang if/elseif/else. Walau bagaimanapun, untuk kes dengan bilangan syarat yang banyak, ini boleh menyebabkan kod bersepah.

Pertimbangkan struct Go berikut:

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
}
Salin selepas log masuk

Anda ingin memaparkan perenggan mengikut cara yang bergantung pada jenis mereka. Walaupun ada kemungkinan untuk menggunakan pernyataan nested if seperti ini:

{{range .Paragraphs}}
    {{if .IsAttachment}}
        -- attachment presentation code  --
    {{else}}{{if .IsMenu}}
        -- menu --
    {{else}}
        -- default code --
    {{end}}{{end}}
{{end}}
Salin selepas log masuk

pendekatan ini menjadi sukar digunakan dengan lebih banyak jenis, mengakibatkan kedua-dua kod Go yang bersepah (dengan fungsi seperti IsSomething) dan kod templat (dengan {{end} bersarang} } pernyataan).

Nasib baik, terdapat penyelesaian yang lebih bersih dalam templat Go: yang lain jika dibina. Dengan menggunakan ini, anda boleh memudahkan templat di atas seperti berikut:

{{range .Paragraphs}}
    {{if .IsAttachment}}
        -- attachment presentation code  --
    {{else if .IsMenu}}
        -- menu --
    {{else}}
        -- default code --
    {{end}}
{{end}}
Salin selepas log masuk

Dengan menggunakan else if, anda boleh menghapuskan keperluan untuk berbilang pernyataan if bersarang, menjadikan kod templat anda lebih ringkas dan mudah diikuti.

Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Rendering Bersyarat dalam Templat HTML Go dengan Else If?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan