在“with”或“range”范围内访问模板中的外部范围
使用“with”或“range”范围时在 Go 模板中,点 (.) 运算符的范围更改为当前循环变量或结构成员。这使得访问外部作用域中定义的变量或函数变得困难。
为了解决这个问题,Go 模板提供了一个名为“$”的特殊变量,它提供对外部作用域的访问。使用方法如下:
{{with .Inner}} Outer: {{$.OuterValue}} # Accesses the OuterValue variable from the outer scope Inner: {{.InnerValue}} # Accesses the InnerValue variable from the inner scope {{end}}
“$”变量记录在文本/模板文档中:
“执行开始时,$ 设置为传递给 Execute 的数据参数,即指向点的起始值。”
这意味着“$”始终指向传递给模板的原始数据对象,允许您访问外部作用域中定义的变量和函数。
以上是如何在'with”或'range”作用域内访问 Go 模板中的外部作用域变量?的详细内容。更多信息请关注PHP中文网其他相关文章!