这是我的代码:
m.Get("/", func(r render.Render) string {
t := template.New("some template")
toto := "titi"
templateh := "<html>Hello world! {{ toto }} <form name='input' action='../first' method='post' ><input type='texte' name='toto'><input type='submit' value='Submit'></form></html>"
t, _ = t.Parse(templateh)
var doc bytes.Buffer
err := t.Execute(&doc, toto)
if err != nil {
fmt.Println("There was an error:", err)
}
s := doc.String()
fmt.Println(s)
return s
})
并且它返回一个运行时错误:无效的内存地址或无指针取消引用
我不明白为什么......
答案 0 :(得分:4)
电话
t, _ = t.Parse(templateh)
返回nil并输出错误,指出函数&#34; todo&#34;没有定义。模板Execute方法取消引用nil指针,导致恐慌。
你应该改变两件事:
{{ todo }}
替换为{{.}}