为了账号安全,请及时绑定邮箱和手机立即绑定

转到模板功能

转到模板功能

Go
慕桂英3389331 2021-04-30 10:11:20
当我尝试使用Funcs和时,它注意到Go模板很奇怪FuncMap。下面的代码按预期工作:buffer := bytes.NewBufferString("")funcMap := template.FuncMap{    "label": strings.Title,}t, _ := template.New("alex").Funcs(funcMap).Parse("{{label \"alex\"}}") t.Execute(buffer, "")return string(buffer.Bytes()) //=> "Alex"但是,当我尝试将模板放在文件中时,它不起作用(Execute()说:)"alex" is an incomplete or empty template:t, _ := template.New("alex").Funcs(funcMap).ParseFiles("template.html") 使用template.html:{{label \"alex\"}}知道为什么吗?这是一个错误吗?有没有更简单的方法在模板中使用方法/功能?
查看完整描述

3 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

ParseFiles可能会使用更好的文档。一个模板对象可以包含多个模板,每个模板都有一个名称。如果查看ParseFiles的实现,则会看到它使用文件名作为模板对象内部的模板名称。因此,将文件的名称与模板对象的名称相同(可能通常不实用),否则请使用ExecuteTemplate而不是Execute。


查看完整回答
反对 回复 2021-05-10
?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

您需要首先解析所有文件并执行它们。您不能直接访问所有文件。


查看完整回答
反对 回复 2021-05-10
  • 3 回答
  • 0 关注
  • 199 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信