Untuk Gelung dalam Templat
Templat dalam Go menyediakan cara yang berkesan untuk menjana kandungan dinamik. Satu keperluan biasa apabila bekerja dengan templat ialah keperluan untuk gelung. Artikel ini meneroka cara untuk melaksanakan gelung dalam templat.
Menggunakan Julat dengan Tatasusunan Disediakan
Cara paling mudah untuk mencipta gelung dalam templat ialah menggunakan kata kunci julat dengan tatasusunan yang disediakan. Sebagai contoh, pertimbangkan kod berikut:
<code class="go">type Person struct { Name string Age int } func main() { people := []Person{{"John", 30}, {"Mary", 25}} tmpl := template.Must(template.New("loop").Parse(` {{range .}} Name: {{.Name}} Age: {{.Age}} {{end}} `)) tmpl.Execute(os.Stdout, people) }</code>
Templat ini akan berulang pada orang yang memotong dan mencetak nama dan umur setiap orang.
Menggunakan Fungsi Luaran
Pendekatan lain ialah menggunakan fungsi luaran untuk mencipta gelung. Ini boleh berguna apabila anda memerlukan lebih banyak fleksibiliti atau fungsi dalam gelung anda. Sebagai contoh, fungsi berikut boleh menjana gelung mudah untuk:
<code class="go">func For(start, end int) chan int { c := make(chan int) go func() { for i := start; i < end; i++ { c <- i } close(c) }() return c }</code>
Fungsi ini mengambil titik permulaan dan penamat serta mengembalikan saluran yang berulang pada setiap integer dalam julat. Untuk menggunakan fungsi ini dalam templat, anda boleh melakukan perkara berikut:
<code class="go">tmpl := template.Must(template.New("loop").Parse(` {{range For 0 10}} i: {{.}} {{end}} `)) tmpl.Execute(os.Stdout, nil)</code>
Templat ini akan berulang dari 0 hingga 9 dan mencetak nilai i untuk setiap lelaran.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan untuk gelung dengan berkesan dalam templat Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!