这真的很简单,但我是 Go 新手,我似乎无法找到有关如何在嵌套/关联模板函数中使用变量插值的文档。
这是我试图从中包含“/path/to/backend.txt”的 file.tmpl。
blah
{{template $.Backends .}}
blah
在上面,变量 $Backends 存在并且是一个字符串,例如。 “/path/to/backends.txt”。我希望简单地将它插入到模板函数中,但 Go 对此并不满意。在模板子句中抛出 意外的“$”
。
关于如何完成、转义的任何建议,或者我是否完全像这样滥用整个模板?
谢谢。
最佳答案
"template"的参数不能是变量。请注意,"template"不是函数,而是模板操作。所以只能用一个常量来实例化一个模板。
不允许这样做的一个原因是安全性。如果允许变量,易受攻击的应用程序将允许文件系统上的随机文件包含在呈现的模板主体中。
关于Go嵌套模板路径作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69170288/