Maison > développement back-end > Golang > 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
Libérer: 2024-11-18 07:34:02
original
869 Les gens l'ont consulté

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
}
Copier après la connexion

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 }}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal