go语言模板:{{template}}标签的模板名称能否动态赋值?
本文探讨Go语言text/template包中{{template}}标签的模板名称是否可以动态赋值的问题。 答案是否定的。{{template}}标签的模板名称必须是静态的,不能使用变量动态赋值。
如下图所示:
示例代码{{template “{{.tpl}}” {{.cond}} }}试图通过变量.tpl动态指定模板名称,这是行不通的。 text/template引擎在解析模板时,会预先解析所有{{template}}标签,并建立静态的模板引用关系。 因此,变量.tpl在解析阶段无法被正确处理,引擎无法将其转换为实际的模板名称。
立即学习“go语言免费学习笔记(深入)”;
{{template}}标签只能接受静态字符串作为模板名称,无法接受动态计算的结果。 要实现动态选择模板,需要使用其他的方法,例如在Execute函数中根据条件选择并执行不同的模板。 这需要在模板解析之前,先根据数据确定要使用的模板,然后将该模板传递给Execute函数。
以上就是Go语言模板:{{template}}标签的模板名称可以动态赋值吗?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2306863.html