Go Template 如何将数据传递给模板?
go template 如何赋值变量
go 中的模板赋值方式与 php 不同。在 php 中,使用 assign() 方法将 php 变量赋值给模板。在 go 中,使用 execute() 函数的第二个参数将数据传到模板。
使用方法:
- 定义模板:使用 template.parsefiles() 读取并解析一个 html 文件。
- 准备数据:创建包含要传给模板的数据的映射或结构。
- 执行模板:调用 execute() 函数,并传递数据作为第二个参数。
示例:
type FileName struct { Name string } func main() { fileList := []FileName{{"a.txt"}, {"b.txt"}} t, err := template.ParseFiles("html/show_dir_list.html") if err != nil { panic(err) } err = t.Execute(w, map[string]interface{}{"fileList": fileList}) if err != nil { panic(err) } }
在这个示例中:
- filelist 是要传给模板的切片。
- execute() 的第二个参数是一个映射,其中包含 filelist 变量。
注意:
- 模板中的.表示传递给模板的数据。
- 可以直接传递 filelist 切片,但模板中的.就需要少一个层级 ({{range $i, $v := .}} 变成 {{range $i, $v := .name}})。
以上就是Go Template 如何将数据传递给模板?的详细内容,更多请关注其它相关文章!