Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengulangi Baris HTML Berbilang Kali Menggunakan Templat Golang?
Mengulang HTML dalam Templat Golang
Di Golang, apabila melelaran senarai elemen dalam templat, anda boleh menggunakan {{julat }} tindakan. Walau bagaimanapun, ia memerlukan tatasusunan atau hirisan untuk diulang. Untuk mengulang baris HTML berbilang kali, kami boleh membuat kepingan kosong dan mengisinya dengan sama ada nilai sifar atau nilai khusus.
Menggunakan Slice Nilai Sifar
Kami boleh mencipta kepingan kosong make([]struct{}, n) untuk mewakili bilangan lelaran yang kita perlukan. Kemudian, dalam templat, kami menggunakan sintaks {{range}}${} untuk mengulangi hirisan. Contohnya:
tmpl := template.Must(template.New("").Parse(` <ul> {{range $idx, $e := .}} <li><a href="/?p={{idx}}">{{$idx}}</a></li> {{end}} </ul>`)) n := 5 tmpl.Execute(w, make([]struct{}, n))
Menggunakan Filled Slice
Sebagai alternatif, kita boleh mengisi kepingan dengan nilai tertentu. Pendekatan ini membolehkan kami melangkau menggunakan indeks ($idx) dalam kod HTML. Contohnya:
tmpl := template.Must(template.New("").Parse(` <ul> {{range .}} <li><a href="/?p={{.}}">{{.}}</a></li> {{end}} </ul>`)) values := make([]int, 5) for i := range values { values[i] = i + 1 } tmpl.Execute(w, values)
Menggunakan Slice Nilai Sifar dan Fungsi Tersuai
Pilihan lain ialah mencipta fungsi tersuai yang menambah 1 pada indeks hirisan dan mengembalikan hasil. Ini membolehkan anda menggunakan indeks hirisan sambil menambah nombor sebanyak 1. Contohnya:
tmpl := template.Must(template.New("").Funcs(template.FuncMap{ "Add": func(i int) int { return i + 1 }, }).Parse(` <ul> {{range $idx, $e := .}}{{$idx := (Add $idx)}} <li><a href="/?p={{$idx}}">{{$idx}}</a></li> {{end}} </ul>`)) n := 5 tmpl.Execute(w, make([]struct{}, n))
Pendekatan ini menyediakan cara yang fleksibel untuk mengulang baris HTML beberapa kali berdasarkan keperluan khusus anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengulangi Baris HTML Berbilang Kali Menggunakan Templat Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!