我正在执行一个包含2个并行数组(相同大小)的模板,我想并行列出两个数组中的项目,如何在范围内使用索引?
这显然不起作用:
{{range $i, $e := .First}}$e - {{index .Second $i}}{{end}}
Run Code Online (Sandbox Code Playgroud)
Chr*_*loe 17
其中一个预定义的全局模板函数是index.
index返回通过以下参数索引其第一个参数的结果.因此index x 1 2 3,在Go语法中,x[1][2][3].每个索引项必须是map,slice或array.
所以你走在正确的轨道上.唯一的问题是你没有考虑到dot已在range块内重新分配的事实.
所以你需要回到原来的点,因为我们有以下几点
执行开始时,
$设置为传递给Execute的数据参数,即dot的起始值.
所以(假设您的模板中没有其他内容)您应该能够:
{{range $i, $e := .First}}$e - {{index $.Second $i}}{{end}}
Run Code Online (Sandbox Code Playgroud)
就个人而言,我会创建一个名为的模板函数zip,它接受多个切片并返回每对值的切片.它在您的模板中看起来更干净,可能会在某处重复使用.
| 归档时间: |
|
| 查看次数: |
11995 次 |
| 最近记录: |