In Go-Vorlagen besteht häufig die Notwendigkeit, gleichzeitig über mehrere Arrays zu iterieren. Dies kann eine Herausforderung darstellen, insbesondere wenn die Arrays unterschiedliche Längen haben oder sich nicht einfach umstrukturieren lassen. Hier ist eine umfassende Anleitung, wie Sie diese Herausforderung meistern und effizient über mehrere Arrays gleichzeitig iterieren können.
Stellen Sie sich das folgende Szenario vor:
Sie haben zwei Strukturen, Schedule und Combo, wobei Schedule ein Array von Combo-Strukturen enthält. Sie müssen jede Combo durchlaufen und ihre Sounds-, Lautstärke- und Wartedaten auf einer HTML-Seite anzeigen. Allerdings enthalten die Arrays unterschiedliche Längen und Sie können die Strukturen nicht ändern, da sie an anderer Stelle im Projekt verwendet werden.
Um dieses Problem zu lösen, können wir ein „Multi-Range“-System verwenden. Schleifentechnik, die es uns ermöglicht, über mehrere Arrays gleichzeitig zu iterieren. So geht's:
{{range .Schedule.Combos}} <div class="container"> <div class="row"> <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 class="col"> <div class="card mt-2"> <div class="card-body"> <h5 class="card-title"> <strong>Sounds</strong> </h5> {{ $volumes := .Volumes }} {{ $waits := .Waits }} {{range $index,$sound := .Sounds }} <h5 class="card-text"> Sound {{.}} Volume {{index $volumes $index}} Wait {{index $waits $index}} </h5> {{end}} </div> </div> </div> </div> </div> {{end}}
In der obigen Vorlage:
Das obige ist der detaillierte Inhalt vonWie kann man in Go-Vorlagen gleichzeitig über mehrere Arrays ungleicher Länge iterieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!