gpt4 book ai didi

html - Go模板一起遍历多个数组

转载 作者:行者123 更新时间:2023-12-01 22:33:09 25 4
gpt4 key购买 nike

我已经阅读了很多与Go模板有关的帖子,但是找不到我想要的东西。

我有这两个结构,由于在我正在帮助的项目中其他地方使用了它们,因此我无法更改它们:

type Schedule struct {
Description string
ControlNights int
PlayNights int
StartDay int
Combos []Combo
}

type Combo struct {
From time.Time
Every int
Until time.Time
Sounds []string
Volumes []int
Waits []int
}

而且我需要在html页面上显示此数据。所以我需要遍历每个组合。我可以这样做,但是我需要将“声音”,“音量”和“等待”放在一起,即声音x音量y等待z。其中x,y和z是Sounds,Volumes和Waits数组中的值。这些数组的长度可以大于等于1,但是它们的长度都相同。

我希望它看起来像这样:

enter image description here

我已经试过了:
            {{range .Schedule.Combos}}
<div class="container">
<div class="row">
<div class="col">
<div class="card mt-2 ml-2">
<div class="card-body">
<h5 class="card-title">
<strong>Timing</strong>
</h5>
<h5 class="card-text">
Play every {{.Every}} mins
</h5>
<h5 class="card-text">
From time {{TimeOfDayToString .From}}
</h5>
<h5 class="card-text">
Until {{TimeOfDayToString .Until}}
</h5>
</div>
</div>
</div>
<div class="col">
<div class="card mt-2">
<div class="card-body">
<h5 class="card-title">
<strong>Sounds</strong>
</h5>
{{range .Sounds}}
<h5 class="card-text">
Sound {{.}}
</h5>
{{end}}
</div>
</div>
</div>

这可以让我对声音进行范围调整,但同时我也需要对音量进行调整并同时等待(等待播放下一个声音的时间),同时以某种方式...

我想我可以做的是制作一个不同的Combo结构并将其传递给我的html模板,但是我希望避免这种情况,只要有一种方法就可以使用。

最佳答案

如果确定这三个数组具有相同数量的元素,则可以执行以下操作:

{{ $volumes := .Volumes }}
{{ $waits := .Waits }}
{{range $index,$sound := .Sounds }}

Print Sounds[i] like this: {{$sound}}

Print volumes[i] like this: {{index $volumes $index}}

Print waits[i] like this: {{index $waits $index}}

{{end}}

这应该给你的想法。

关于html - Go模板一起遍历多个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58496024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com