Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Melakukan Pengiraan dalam Templat HTML Go?
Masalah:
Templat HTML Dalam Go, cuba melakukan pengiraan seperti {{ $length -1 }} dalam templat tidak berfungsi. Bagaimanakah kita boleh mencapai fungsi ini?
Jawapan:
Malangnya, pengiraan tidak boleh dilakukan terus dalam templat HTML. Ini disebabkan oleh falsafah reka bentuk asas untuk memisahkan logik kompleks daripada templat.
Penyelesaian:
Sebaliknya, pertimbangkan pendekatan alternatif ini:
1. Lulus Keputusan Dikira sebagai Parameter:
Kaedah pilihan ialah mengira nilai yang diingini dalam kod Go anda dan luluskannya sebagai parameter templat.
func main() { length := len(myMap) t := template.Must(template.New("index").Parse(`<p>The last index of this map is: {{ .LastIndex }}</p>`)) t.Execute(os.Stdout, map[string]interface{}{"LastIndex": length - 1}) }
2. Daftar Fungsi Tersuai:
Anda juga boleh mendaftar fungsi tersuai dan memanggilnya dalam templat anda. Fungsi ini boleh melakukan pengiraan dan mengembalikan nilai.
func RegisterCalcFunc(t *template.Template) { t.Funcs["calcIndex"] = func(length int) int { return length - 1 } } func main() { RegisterCalcFunc(t) t := template.Must(template.New("index").Parse(`<p>The last index of this map is: {{ calcIndex .Length }}</p>`)) t.Execute(os.Stdout, map[string]interface{}{"Length": len(myMap)}) }
Atas ialah kandungan terperinci Bagaimana untuk Melakukan Pengiraan dalam Templat HTML Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!