Maison > Article > développement back-end > Comment tester l’équivalence des cartes dans Golang ?
Test de l'équivalence des cartes dans Golang
Lors de l'écriture de tests basés sur des tables impliquant des cartes, déterminer leur équivalence peut être difficile. Une approche consiste à vérifier manuellement l'égalité des longueurs et les paires clé-valeur individuelles, mais cela devient répétitif pour différents types de cartes.
Approche idiomatique
La bibliothèque Go propose une solution intégrée : Reflect.DeepEqual. Cette fonction prend deux arguments interface{} et compare récursivement leurs valeurs. Pour les cartes, il compare les longueurs, les clés et les valeurs en suivant les étapes suivantes :
Exemple d'utilisation
Pour comparer deux cartes, m1 et m2, utilisez le code suivant :
import "reflect" eq := reflect.DeepEqual(m1, m2) if eq { fmt.Println("They're equal.") } else { fmt.Println("They're unequal.") }
Cette solution évite le besoin d'une logique de comparaison personnalisée et fonctionne avec différents types de cartes. Cependant, notez qu'il comparera également les valeurs non cartographiques si elles sont transmises incorrectement.
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!