私は、いくつかのデータを外部 HTML ファイルに解析し、そのファイルを Web サーバーに提供するだけの単純な go lang Web サーバーを手に入れました。
package main
import (
"html/template"
"net/http"
)
type Event struct {
Name string
}
func handler(w http.ResponseWriter, r *http.Request) {
e := Event{ Name: "Melt! Festival" }
t, _ := template.ParseFiles("events.html")
t.Execute(w, e)
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":1337", nil)
}
しかし、セットを使用して HTML ファイルを解析しようとすると、ブラウザーで HTML をレンダリングする代わりに、HTML ページがテキストとして解析されます。
<!DOCTYPE>
<html>
<head>
<title>Event</title>
</head>
<body>
<p>
Event: {{.Name}}
</p>
</body>
</html>
HTMLファイルを除外する<!DOCTYPE>
と、問題なくレンダリングされます。
私は本当に興味があるので、これがなぜなのか誰か教えてもらえますか? go コードが機能しない原因を 2 時間かけて探しました。