小弟是做 php 开发出身的,最近在学 go,因需求需要用到 go template 方面的东西,看了网上很多关于 template 用法方面的文章,感觉写的都很难懂,讲的都是写云里雾里不切实际的东西,我就以 php 的做法请教一下各位大神吧:
php 赋值给模板的操作,一般都是通过 assign 方法,两个参数,一个是 php 文件中的变量名称,一个是 模板中的变量名称,简洁易懂,请问 go 是如何实现这个步骤的呢?
比如我现在代码如下:
fileList := GetFileList(file.Name) //这是个切片类型
t1, err := template.ParseFiles("html/show_dir_list.html")
if err != nil {
panic(err)
}
_ = t1.Execute(w, fileList)
我该如何将 fileList 这个变量的内容赋值到模板中去呢?
目前模板代码如下:
<p>
{{range $i, $v := .fileList}}
<div>{{$v.Name}}</div>
{{end}}
</p>
结果是
变量传进模板靠
Execute
的第二个参数,你可以用map
或者struct
来传。直接传fileList
也可以,注意Go模板里的.
代表的就是你传的这个参数。直接传
fileList
的写法是这样。