模板的{{range}}
与Go
语法里面的range
类似,循环操作数据。
跟第一章一样,先定义路由和对应的处理函数,不同的是就是创建模板的步骤,因为模板里如果要注入函数,必须在在调用ParseFiles
函数前注入函数,否则会报模板错误。
func Number(number int) int {
return number + 1
}
funcMap := template.FuncMap{"number": Number}
t := template.New("index.html").Funcs(funcMap)
t = template.Must(t.ParseFiles("./template/index.html"))
Must
函数的作用是检测模板是否正确。
代码里我使用的是结构体切片,定义结构体的时候要注意,如果要在模板使用,变量名首字母一定要大写,注入函数也是一样,否则模板里不能正常使用。
type Student struct {
Name string
Street string
}
相关源码已发布在 github 。