Heim >Backend-Entwicklung >Golang >Wie iteriere ich durch eine Karte in einer Go-Vorlage?

Wie iteriere ich durch eine Karte in einer Go-Vorlage?

Barbara Streisand
Barbara StreisandOriginal
2024-11-23 04:44:13313Durchsuche

How Do I Iterate Through a Map in a Go Template?

Iterieren durch eine Karte in einer Go-Vorlage

Bei der Arbeit mit Karten in Go-Vorlagen ist es wichtig zu verstehen, wie man über ihre Elemente iteriert .

func groupClasses(classes []entities.Class) map[string][]entities.Class {
    classMap := make(map[string][]entities.Class)
    for _, class := range classes {
        classMap[class.ClassType.Name] = append(classMap[class.ClassType.Name], class)
    }
    return classMap
}

Um die von der Funktion „groupClasses“ in einer Vorlage generierte Klassenzuordnung zu durchlaufen, befolgen Sie diese Schritte Schritte:

  1. Schlüsselwertvariablen verstehen:In Go-Vorlagen können Bereichsiterationen mehrere durch Kommas getrennte Variablen deklarieren.
  2. Bereich Iteration: Um eine Karte zu durchlaufen, verwenden Sie Folgendes Syntax:

    {{ range $key, $value := . }}
    

wobei:

  • $key den Kartenschlüssel darstellt (z. B. den Namen des Klassentyps)
  • $value stellt den Kartenwert dar (z. B. das Klassensegment dafür). Typ)
  1. Zugriffselemente: Innerhalb des Bereichsblocks können Sie mithilfe der Variablen $key und $value auf den Schlüssel und den Wert zugreifen.

Um beispielsweise alle Klassentypen und ihre entsprechenden Klassen aufzulisten:

{{ range $key, $value := . }}
   <li><strong>{{ $key }}</strong>: {{ $value }}</li>
{{ end }}

Dadurch wird HTML generiert wie:

<li><strong>Yoga</strong>: [Yoga class 1, Yoga class 2, ...]</li>
<li><strong>Pilates</strong>: [Pilates class 1, Pilates class 2, ...]</li>

Das obige ist der detaillierte Inhalt vonWie iteriere ich durch eine Karte in einer Go-Vorlage?. 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