go html/template包 新建一个模板然后使用ParseFiles方法之后使用Execute方法发现居然不会输出!!!

test.go 片段
    t := template.New("ttt")
    tmpl, err := t.ParseFiles("test.html")
    if err != nil {
        log.Println(err)
    }
    tmpl.Execute(os.Stdout, nil)

test.html 片段
    <div class="Hello">
      hello{{.h}}
    </div>

共 3 个回复


jimmykuu

tmpl.Execute(os.Stdout, nil) 的返回错误你忽略了。

像你这种情况,改成 t := template.New("test.html") 就可以了。可以看下 ParseFiles 的文档,对模板名是有要求的。

# 0

lightbee

是要用文件名作为模板名,现在我知道了,谢谢你的指点。

# 1

snake117

直接用包级别的ParseFiles来解析文件,不要创建一个模板然后用方法解析

# 2