0

私はGoの初心者で、関数のストリームにデータ「home.html」を書き込むための呼び出しがどこにあるのかわかりExecuteません。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")

}
4

1 に答える 1

1

それは再帰呼び出しではありません。「text/template」パッケージの Template.Execute を呼び出しています (「html/template」の Template.Execute ではありません)。また、Writer に実際にバイトを書き込むコードもここにあります。

http://golang.org/src/pkg/text/template/exec.go?s=2630:2700#L95

于 2012-12-16T01:02:51.900 に答える