首页  >  文章  >  后端开发  >  如何在 Go 模板中使用范围和索引迭代并行数组?

如何在 Go 模板中使用范围和索引迭代并行数组?

Patricia Arquette
Patricia Arquette原创
2024-11-04 12:59:29694浏览

How to Iterate Through Parallel Arrays with Range and Index in Go Templates?

迭代具有范围和索引的并行数组

我们如何迭代两个具有相同大小的并行数组并列出两个数组中的项目

以下代码演示了一次不成功的尝试:

<code class="go">{{range $i, $e := .First}}{{ $e }} - {{ index .Second $i }}{{end}}</code>

为了解决这个挑战,我们可以利用预定义的全局模板函数index.这个函数允许我们用后续参数索引第一个参数,类似于 Go 中索引的工作方式。

<code class="go">index x 1 2 3</code>

相当于:

<code class="go">x[1][2][3]</code>

但是,在范围块内,点已被重新分配。为了返回原始点,我们使用内置模板功能,将 $ 最初设置为传递给 Execute 的数据参数。因此,我们可以修改我们的代码:

<code class="go">{{range $i, $e := .First}}{{$e}} - {{index $.Second $i}}{{end}}</code>

作为替代方案,创建一个名为 zip 的模板函数将多个切片转换为值对切片可能会更简洁。

以上是如何在 Go 模板中使用范围和索引迭代并行数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn