我正在尝试使用text / template包做一些简单的工作。模板顶部给出的示例就是我正在使用的示例。如何编写“已解析”文件,以便template.ParseFiles()正确读取和执行该文件?package mainimport ( "text/template" "os")type Inventory struct { Material string Count uint}func main() { sweaters := Inventory{"wool", 17} tmpl, err := template.New("test").Parse("{{.Count}} items are made of {{.Material}}") // tmpl, err := template.New("test").ParseFiles("file.txt") if err != nil { panic(err) } err = tmpl.Execute(os.Stdout, sweaters) if err != nil { panic(err) }}/*Contents of file.txt:{{.Count}} items are made of {{.Material}}Error thrown:panic: template: test:1: "test" is an incomplete or empty templategoroutine 1 [running]:main.main() /tmp/templates/t.go:19 +0x21agoroutine 2 [syscall]:created by runtime.main /var/tmp/portage/dev-lang/go-1.0.1/work/go/src/pkg/runtime/proc.c:221*/我在这里的golang游乐场张贴了此代码的副本
2 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
sweaters := Inventory{"wool", 17}
tmpl, err := template.ParseFiles("file.txt")
if err != nil {
panic(err)
}
err = tmpl.ExecuteTemplate(os.Stdout, "file.txt", sweaters)
if err != nil {
panic(err)
}
如果文件很多,可以使用ParseGlob:
tmpl, err := template.ParseGlob("*.txt")
if err != nil {
panic(err)
}
err = tmpl.ExecuteTemplate(os.Stdout, "file.txt", sweaters)
if err != nil {
panic(err)
}
err = tmpl.ExecuteTemplate(os.Stdout, "file2.txt", sweaters)
if err != nil {
panic(err)
}
- 2 回答
- 0 关注
- 323 浏览
添加回答
举报
0/150
提交
取消