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
Barbara Streisandasal
2024-12-22 11:05:11797semak imbas

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>

Menguji Kod:

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

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>

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>

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

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>

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>

Fungsi Tersuai:

func Add(i int) int {
    return i + 1
}

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>

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!

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