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
Mary-Kate Olsenasal
2024-11-13 08:03:021045semak imbas

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
}

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}}

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}}

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!

Kenyataan:
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