我正在嘗試使用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 關注
- 358 瀏覽
添加回答
舉報
0/150
提交
取消