我是Go的初学者,我不明白在函数Execute
的流中写入数据“home.html”的调用在哪里.http .ResponseWriter是清楚但在函数Execute
我看不到像write .. fmt.Fprint..
这样的东西我只看到Execute
http://golang.org/src/pkg/html/template/template.go?s=1245:1315#L40
//my Function
func homeHandler(c http.ResponseWriter, req *http.Request) {
var homeTempl = template.Must(template.ParseFiles("home.html"))
//here is my misunderstanding
homeTempl.Execute(c, req.Host)
//Thats consistent
fmt.Fprint(c, "hallo")
}
答案 0 :(得分:1)
这不是递归电话。它在“text / template”包中调用Template.Execute(而不是“html / template”中的Template.Execute)。您还可以在这里找到实际在Writer上写入字节的代码。
http://golang.org/src/pkg/text/template/exec.go?s=2630:2700#L95