Heim >Backend-Entwicklung >Golang >Wie kann ich in Go-Vorlagen gleichzeitig über mehrere Arrays iterieren?

Wie kann ich in Go-Vorlagen gleichzeitig über mehrere Arrays iterieren?

Susan Sarandon
Susan SarandonOriginal
2024-12-03 13:36:11723Durchsuche

How Can I Iterate Over Multiple Arrays Simultaneously in Go Templates?

Iterieren mehrerer Arrays zusammen mit Go-Vorlagen

Bei der Go-Programmierung bieten Vorlagen eine leistungsstarke Möglichkeit, HTML-Ausgaben basierend auf Daten zu generieren. Beim Umgang mit mehreren ähnlichen Datenstrukturen kann es schwierig sein, diese gleichzeitig zu durchlaufen.

Problem:
Betrachten wir zwei Strukturen: Schedule und Combo. Wir müssen alle Combos auf einer HTML-Seite anzeigen und sicherstellen, dass die entsprechenden Sounds-, Volumes- und Waits-Arrays in Zeilen ausgerichtet sind.

Analyse:
Es ist wichtig zu beachten, dass die Vorausgesetzt, Schedule- und Combo-Strukturen sind unveränderlich und können nicht geändert werden. Das bedeutet, dass wir eine clevere Template-Lösung benötigen, die die gleichzeitige Iteration mehrerer Arrays bewältigen kann, ohne die Datenstrukturen zu ändern.

Lösung:
Wenn die Arrays die gleiche Länge haben, können Sie dies tun Nutzen Sie Folgendes Ansatz:

{{ $volumes := .Volumes }}
{{ $waits := .Waits }}
{{range $index,$sound := .Sounds }}
  <p>Sound: {{$sound}}, Volume: {{index $volumes $index}}, Wait: {{index $waits $index}}</p>
{{end}}

Erklärung:

  • Volume- und Waits-Arrays in separate Variablen ($volumes und $waits) extrahieren, um die Indizierung zu erleichtern.
  • Verwenden Sie die Indexfunktion, um bestimmte Elemente aus diesen Arrays basierend auf dem Index des iterierenden Sounds abzurufen Element.

Diese Lösung sollte die gewünschten Daten korrekt ausrichten, sodass die Ausgabe wie erforderlich erfolgt. Beachten Sie, dass dieser Ansatz erfordert, dass alle drei Arrays (Sounds, Volumes und Waits) die gleiche Länge haben.

Das obige ist der detaillierte Inhalt vonWie kann ich in Go-Vorlagen gleichzeitig über mehrere Arrays iterieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn