Heim > Backend-Entwicklung > Golang > Wie iteriere ich durch parallele Arrays mit Bereich und Index in Go-Vorlagen?

Wie iteriere ich durch parallele Arrays mit Bereich und Index in Go-Vorlagen?

Patricia Arquette
Freigeben: 2024-11-04 12:59:29
Original
770 Leute haben es durchsucht

How to Iterate Through Parallel Arrays with Range and Index in Go Templates?

Iterieren durch parallele Arrays mit Bereich und Index

Wie können wir zwei parallele Arrays mit derselben Größe durchlaufen und Elemente aus beiden Arrays auflisten? Bereich gleichzeitig verwenden?

Der folgende Code zeigt einen erfolglosen Versuch:

<code class="go">{{range $i, $e := .First}}{{ $e }} - {{ index .Second $i }}{{end}}</code>
Nach dem Login kopieren

Um dieser Herausforderung zu begegnen, können wir die vordefinierte globale Vorlagenfunktion Index verwenden. Mit dieser Funktion können wir das erste Argument mit nachfolgenden Argumenten indizieren, ähnlich wie die Indizierung in Go funktioniert.

<code class="go">index x 1 2 3</code>
Nach dem Login kopieren

ist äquivalent zu:

<code class="go">x[1][2][3]</code>
Nach dem Login kopieren

Allerdings innerhalb des Bereichsblocks Punkt wurde neu zugewiesen. Um zum ursprünglichen Punkt zurückzukehren, verwenden wir die integrierte Vorlagenfunktion, die $ zunächst auf das an Execute übergebene Datenargument setzt. Daher können wir unseren Code ändern:

<code class="go">{{range $i, $e := .First}}{{$e}} - {{index $.Second $i}}{{end}}</code>
Nach dem Login kopieren

Als Alternative dazu kann es sauberer sein, eine Vorlagenfunktion namens zip zu erstellen, die mehrere Slices in ein Slice von Wertepaaren umwandelt.

Das obige ist der detaillierte Inhalt vonWie iteriere ich durch parallele Arrays mit Bereich und Index in Go-Vorlagen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage