Maison > développement back-end > Golang > Pourquoi ne puis-je pas déclarer une carte comme constante et la modifier dans Go ?

Pourquoi ne puis-je pas déclarer une carte comme constante et la modifier dans Go ?

Mary-Kate Olsen
Libérer: 2024-11-14 14:22:02
original
483 Les gens l'ont consulté

Why Can't I Declare a Map as a Constant and Modify It in Go?

Déclarer et modifier des cartes comme constantes

Dans Go, les cartes ne sont pas des constantes, ce qui signifie que leurs paires clé-valeur ne peuvent pas être modifiées après leur création. Tenter de déclarer une carte comme constante et de la remplir ensuite, comme démontré dans l'extrait ci-dessous, entraînera une erreur :

const (
    paths = &map[string]*map[string]string{
        "Smith": {
            "theFather": "John",
        },
    }
    paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior"
)
Copier après la connexion

Raison

Les constantes représentent des valeurs immuables, et la carte taper Go ne permet pas les modifications de paires clé-valeur. La spécification restreint les déclarations de constantes à des types spécifiques, notamment les constantes booléennes, runiques, entières, à virgule flottante, complexes et chaîne.

Solution de contournement

Pour résoudre ce problème problème, déclarez la carte comme variable au lieu d'une constante, comme indiqué ci-dessous :

var paths = map[string]*map[string]string{
    "Smith": {
        "theFather": "John",
    },
}
paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior"
Copier après la connexion

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 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