Go嵌套模板路径作为变量

Go Nested Template path as a variable

这真的很简单,但我是 Go 新手,我似乎无法找到有关如何在嵌套/关联模板函数中使用变量插值的文档。

这是 file.tmpl 我试图包含来自

的“/path/to/backend.txt”
blah
{{template $.Backends .}}
blah

在上面,变量$Backends存在并且是一个字符串eg。 “/path/to/backends.txt”。我希望简单地将它插入到模板函数中,但 Go 对此并不满意。投掷 unexpected "$" in template clause.

关于如何完成、转义或我是否完全滥用整个模板的任何建议?

谢谢。

“模板”的参数不能是变量。请注意,“模板”不是函数,而是模板操作。所以只能用一个常量来实例化一个模板。

不允许这样做的一个原因是安全性。如果允许变量,易受攻击的应用程序将允许文件系统上的随机文件包含在呈现的模板主体中。