Maison > développement back-end > Golang > le corps du texte

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

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