在 Go 编程中,模板提供了一种基于数据生成 HTML 输出的强大方法。在处理多个相似的数据结构时,同时迭代它们可能具有挑战性。
问题:
让我们考虑两个结构:Schedule 和 Combo。我们需要在 HTML 页面上显示所有 Combo,并确保相应的 Sounds、Volumes 和 Waits 数组按行对齐。
分析:
需要注意的是,提供的 Schedule 和 Combo 结构是不可变的且无法修改。这意味着我们需要一个巧妙的模板解决方案,可以在不改变数据结构的情况下处理多个数组的同时迭代。
解决方案:
如果数组具有相同的长度,则可以利用以下方法:
{{ $volumes := .Volumes }} {{ $waits := .Waits }} {{range $index,$sound := .Sounds }} <p>Sound: {{$sound}}, Volume: {{index $volumes $index}}, Wait: {{index $waits $index}}</p> {{end}}
解释:
此解决方案应正确对齐所需的数据,从而产生所需的输出。请注意,此方法要求所有三个数组(声音、音量和等待)具有相同的长度。
以上是如何在 Go 模板中同时迭代多个数组?的详细内容。更多信息请关注PHP中文网其他相关文章!