Maison  >  Article  >  développement back-end  >  Comment puis-je parcourir les cartes dans les modèles Go pour regrouper les données ?

Comment puis-je parcourir les cartes dans les modèles Go pour regrouper les données ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-18 07:34:02813parcourir

How Can I Iterate Through Maps in Go Templates to Group Data?

Itérer sur des cartes dans des modèles

Dans les modèles Go, on rencontre généralement le besoin de parcourir une carte. Cela peut être difficile en raison des propriétés inhérentes du langage modèle.

Objectif : Afficher une liste de cours de gym regroupés par type de cours (par exemple, Yoga, Pilates).

Solution :Utilisez une fonction telle que groupClasses() pour créer une carte des types de classes en classes :

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
}

Itération à travers la carte :

Le défi réside dans la itération de la carte dans le modèle. Selon la documentation du modèle Go, vous devez y accéder au format .Key. Pour le décompresser, vous pouvez déclarer deux variables séparées par une virgule dans la plage :

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

Cela parcourra la carte, accédant à la fois à la clé (type de classe) et à la valeur (liste des classes). Vous pouvez maintenant afficher les données selon vos besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn