Maison > Article > développement back-end > Quelle est la différence entre l'interface mappée {} et la structure de type {} ?
Je viens de lire que map[Type]interface{} spécifie une carte de clés de type Type avec la valeur any, qui est interface{}.
N'est-ce pas presque la même chose que définir une structure, c'est-à-dire tapez Name struct{ key1; value1, ...., keyn: valuen}?
Quelle est la différence entre ces deux types de cartographie ?
J'ai lu https://www.digitalocean.com/community/tutorials/how-to-use-json-in-go mais je ne comprends toujours pas la différence.
Ou quelle est la différence entre map[type] interface{} que l'on définit de manière plus générale ?
Nous définissons chaque paire clé-valeur à travers la structure ?
Les deux méthodes définissent-elles simplement des objets constitués de paires clé-valeur ?
Les structures et les cartes sont des structures de données différentes. Ils présentent de nombreuses différences. En voici quelques-uns :
Les structures ont un nombre fixe de champs, qui sont déclarés une seule fois et ne peuvent pas être modifiés.
3a15cefd8a1cc7ac8a7f27a0d3f9b13La carte peut s'agrandir ou se réduire au moment de l'exécution.
vector := map[string]float64{ "x": 2.0, "y": 2.0, } vector["z"] = 2.0
Vous pouvez parcourir les entrées de la carte.
for key, val := range vector { fmt.Println(key, val) }
Les structures ne prennent pas en charge l'itération (sauf si vous utilisez la réflexion).
Les champs de structure peuvent avoir des étiquettes (attributs supplémentaires) :
type User struct { Name string `json:"name"` Password string `json:"password"` }
La carte n'a pas cette fonctionnalité.
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!