运行时错误:在带有模板的马提尼酒中无效的内存地址或空指针取消引用

这是我的代码:


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


})

它返回一个运行时错误:无效的内存地址或零指针取消引用


我不明白为什么...


婷婷同学_
浏览 212回答 1
1回答

千巷猫影

电话&nbsp;&nbsp;&nbsp;&nbsp;t,&nbsp;_&nbsp;=&nbsp;t.Parse(templateh)返回 nil 和错误一个错误,指出函数“todo”未定义。模板 Execute 方法取消引用 nil 指针,导致恐慌。你应该改变两件事:检查并处理从解析调用返回的错误。这是使用template.Must辅助函数的好地方。通过替换{{ todo }}来修复模板{{.}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go