Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah saya boleh mengulangi kod HTML beberapa kali dalam aplikasi web Go menggunakan templat?

Bagaimanakah saya boleh mengulangi kod HTML beberapa kali dalam aplikasi web Go menggunakan templat?

Barbara Streisand
Lepaskan: 2024-12-22 11:05:11
asal
796 orang telah melayarinya

How can I repeat HTML code multiple times in a Go web application using templates?

Mengulang Kod HTML Berbilang Kali dalam Go

Dalam aplikasi web Go anda, anda perlu mengeluarkan baris HTML tertentu beberapa kali, bergantung pada nilai n .

Berikut ialah cara untuk mendekati perkara ini:

Dalam templat HTML, tindakan {{julat}} membolehkan anda berulang ke atas item. Walau bagaimanapun, tindakan ini memerlukan kepingan, tatasusunan atau peta untuk berfungsi.

Meluluskan Kepingan Nilai Sifar

Untuk memenuhi keperluan ini, anda boleh lulus kepingan kosong tanpa memori yang diperuntukkan, seperti make([]struct{}, n).

Kod Templat:

<ul>
{{range $idx, $e := .}}
    <li><a href="/?page={{$idx}}">{{$idx}}</a></li>
{{end}}
</ul>
Salin selepas log masuk

Menguji Kod:

tmpl := template.Must(template.New("").Parse(templ))
n := 5
if err := tmpl.Execute(os.Stdout, make([]struct{}, n)); err != nil {
    panic(err)
}
Salin selepas log masuk

Output :

<ul>

    <li><a href="/?page=0">0</a></li>

    <li><a href="/?page=1">1</a></li>

    <li><a href="/?page=2">2</a></li>

    <li><a href="/?page=3">3</a></li>

    <li><a href="/?page=4">4</a></li>

</ul>
Salin selepas log masuk

Menggunakan Filled Slice

Untuk menyesuaikan indeks permulaan bagi pautan, anda boleh mengisi kepingan dengan nilai tertentu.

Kod Templat:

<ul>
{{range .}}
    <li><a href="/?page={{.}}">{{.}}</a></li>
{{end}}
</ul>
Salin selepas log masuk

Contoh Ujian Kod:

tmpl := template.Must(template.New("").Parse(templ))
n := 5
values := make([]int, n)
for i := range values {
    values[i] = (i + 1) * 2
}
if err := tmpl.Execute(os.Stdout, values); err != nil {
    panic(err)
}
Salin selepas log masuk

Output:

<ul>

    <li><a href="/?page=2">2</a></li>

    <li><a href="/?page=4">4</a></li>

    <li><a href="/?page=6">6</a></li>

    <li><a href="/?page=8">8</a></li>

    <li><a href="/?page=10">10</a></li>

</ul>
Salin selepas log masuk

Menggunakan Fungsi Tersuai

Akhirnya , anda boleh menggunakan fungsi tersuai dalam templat untuk mengubah suai nilai indeks sebagai diperlukan.

Kod Templat:

<ul>
{{range $idx, $e := .}}{{$idx := (Add $idx)}}
    <li><a href="/?page={{$idx}}">{{$idx}}</a></li>
{{end}}
</ul>
Salin selepas log masuk

Fungsi Tersuai:

func Add(i int) int {
    return i + 1
}
Salin selepas log masuk

Output:

<ul>

    <li><a href="/?page=1">1</a></li>

    <li><a href="/?page=2">2</a></li>

    <li><a href="/?page=3">3</a></li>

    <li><a href="/?page=4">4</a></li>

    <li><a href="/?page=5">5</a></li>

</ul>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengulangi kod HTML beberapa kali dalam aplikasi web Go menggunakan templat?. 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