如何在html / template中使用index范围来迭代并行数组?

时间:2013-04-22 07:19:27

标签: go

我正在执行一个包含2个并行数组(相同大小)的模板,我想并行列出两个数组中的项目,如何在范围内使用索引?

这显然不起作用:

{{range $i, $e := .First}}$e - {{index .Second $i}}{{end}}

1 个答案:

答案 0 :(得分:16)

其中一个预定义的global template functionsindex

  

index返回索引其第一个参数的结果     以下论点。因此,在{Go}语法中,index x 1 2 3是     x[1][2][3]。每个索引项必须是mapslicearray

所以你走在正确的轨道上。唯一的问题是您没有考虑dot块中range被重新分配的事实。

所以你需要回到原来的点,因为我们有以下

  

执行开始时,$设置为传递给Execute的数据参数,即dot的起始值。

所以(假设您的模板中没有其他内容)您应该可以这样做:

{{range $i, $e := .First}}$e - {{index $.Second $i}}{{end}}

就个人而言,我会创建一个名为zip的模板函数,它接受多个切片并返回每对值的切片。它在您的模板中看起来更干净,可能会在某处重复使用。