首页 > 后端开发 > Golang > 如何在Go模板中访问范围内的父管道数据?

如何在Go模板中访问范围内的父管道数据?

Susan Sarandon
发布: 2024-11-11 15:10:03
原创
678 人浏览过

How to Access Parent Pipeline Data within Range in Go Templates?

在模板操作中访问范围内的父管道

在 Go 模板中,通常使用范围管道来迭代切片或映射。然而,当尝试访问管道直接范围之外的数据时,经常会出现问题。本文探讨如何实现这一点。

使用 $ 变量(推荐)

文本/模板文档指定当执行开始时,$ 变量引用数据参数传递给执行。这意味着我们可以使用 $.variable 访问外部范围数据。

例如,考虑这个模板:

const page = `{{range .Files}}<script src="{{html $.Path}}/js/{{html .}}"></script>{{end}}`
登录后复制

这里,.Files 指的是文件的切片,但我们想要访问封闭的 scriptFiles 结构的路径。使用 $.Path 可以让我们做到这一点。

使用自定义变量(旧方法)

另一种方法涉及创建一个自定义变量以传递到范围范围内,如本模板所示:

const page = `{{$p := .Path}}{{range .Files}}<script src="{{html $p}}/js/{{html .}}"></script>{{end}}`
登录后复制

通过将 $p 设置为范围管道之前的 .Path,我们可以访问管道内的路径。

注意: 推荐使用 $variable 方法,因为它是当前 Go 版本中更简洁、更惯用的方法。

以上是如何在Go模板中访问范围内的父管道数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板