使用.来访问当前位置的上下文
使用$来引用当前模板根级的上下文
结构体数据渲染:
结构体:
type student struct{
Name string
Age int
Gender string
}
赋值:
c.Data["student"] = &student{Name:"知了课堂",Age:18,Gender:"男"}
前端使用:
学生姓名:{{.student.Name}}
学生年龄:{{.student.Age}}
学生性别:{{.student.Gender}}
注意:结构体中的字段要在其他地方使用,比如首字母大写
数组数据渲染:
lista := [5]int{1,2,3,4,5}
c.Data["list_a"] = lista
前端:
第一种:
{{range $k,$v := .arr}}
{{$k}}
{{$v}}
{{end}
第二种:
{{range .arr}}
{{.}}
{{end}}
结构体数组渲染:
结构体:
type student struct {
Name string
Age int
Gender string
}
赋值:
arr_struct := [3]student{{Name:"hl",Age:18,Gender:"男"},{Name:"hallen",Age:19,Gender:"男"},{Name:"hallen1",Age:191,Gender:"男"}}
c.Data["arr_struct"] = arr_struct
前端获取:先循环数组,在获取结构体变量,注意是大写
{{range $v := .arr_struct}}
{{$v.Name}}
{{$v.Age}}
{{$v.Gender}}
{{range .books}}
{{.Name}}
{{.Author}}
{{end}}
map数据渲染:
//teacher :=map[string]string{"name":"张三","age":"18"}
teacher :=make(map[string]string)
teacher["name"]="老王"
teacher["age"]="30"
c.Data["teacher"] = teacher
前端:
取出key对应的值
{{.teacher.name}}
{{.teacher.age}}
取出所有的key和value:
{{range $k,$v := .teacher}}
{{$k}}
{{$v}}
{{end}}
结构体和map组合渲染:
结构体:
type student struct {
Name string
Age int
Gender string
}
赋值:
mapa := make(map[int]student)
mapa[101] = student{Name:"张三1",Age:181,Gender:"男"}
mapa[102] = student{Name:"张三2",Age:182,Gender:"男"}
mapa[103] = student{Name:"张三3",Age:183,Gender:"男"}
c.Data["hero_map"] = mapa
前端获取:先循环数组,在获取结构体变量,注意是大写
{{range $v :=.hero_map}}
{{$v.Name}}
{{end}}
切片数据渲染:
listb := []int{1,2,3,4,5,6,7}
c.Data["list_b"] = listb
前端:只有一个值的时候默认是切片的元素,而不是角标
{{range $v := .list_b}}
{{$v}}
{{end}}
结构体和切片:类似结构体和数组
项目实战案例 传送门