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!