如果使用
template.ParseFiles()或
template.ParseGlob()解析所有模板文件,模板可以相互引用,它们可以相互包含.
更改index.html以包含header.html,如下所示:
{{template "header.html"}}
然后是完整的程序(解析当前目录中的文件,执行“index.html”并将结果写入标准输出):
t, err := template.ParseFiles("index.html", "header.html")
if err != nil {
panic(err)
}
err = t.ExecuteTemplate(os.Stdout, "index.html", nil)
if err != nil {
panic(err)
}
使用template.ParseGlob()它可能看起来像这样:
t, err := template.ParseGlob("*.html")
// ...and the rest is the same...
输出(打印在控制台上):