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

这显然行不通:

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

推荐答案

预定义的global template functions中的一个是index.

index返回对其第一个参数编制索引的结果 以下是论据.因此,在围棋语法中,index x 1 2 3x[1][2][3].每个索引项必须是mapslicearray.

所以你在正确的轨道上.唯一的问题是,你没有考虑到dot已经在range区块内重新分配.

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

执行开始时,将$设置为传递给EXECUTE的数据参数,即设置为点的起始值.

因此(假设您的模板中没有发生任何其他事情),您应该能够执行以下操作:

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

Personally though, I would create a template function called 100 that accepts multiple slices and returns a slice of each pair of values. It would look cleaner in your template and probably get reused somewhere.

Go相关问答推荐

如何使用go从map.dbf map.prj map.shp map.shx中的任何文件中了解层名称

如何获得与cksum相同的CRC 32?

Makefile:现有文件上没有这样的文件或目录,不加载环境变量

如何使用GRPC UnaryClientInterceptor中的`maily`参数?

读取JSON数据并在网页上显示

在Go中根据命名空间/字符串生成UUID

GO框架Echo中间件的使用

在多个 struct 体中重用 Go 中的函数

「GORM错误」不支持的数据类型:&[],不正确的模式

使用反射在Go中递归迭代 struct 体和集合字段

下载和合并时输出文件已损坏

Gorm 在自定义字符串类型上返回 scanner 错误

闭包所处的环境范围是什么?

确保 Go 1.20 编译时的严格可比性?

在 docker kill --signal=SIGX 上以这种方式关闭容器内运行的 go 应用程序是否安全?

函数调用中的类型参数panic

HTTP 重定向不呈现新页面

如何在 Go 中使用 Pact 返回错误请求(400、500)?

Golang 有类似 C++ 的 decltype 的东西吗?

将基本 HTTP AUth 用户/密码凭据存储在 GO 中,无需外部包