Maison  >  Article  >  développement back-end  >  Pourquoi ne puis-je pas déclarer une carte constante dans Golang ?

Pourquoi ne puis-je pas déclarer une carte constante dans Golang ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-14 20:48:02958parcourir

Why can't I declare a constant map in Golang?

Erreur : restriction de Golang sur les cartes constantes

Dans Golang, tenter de déclarer une carte constante comme celle-ci entraînera une erreur :

const (
    running = map[string]string{
        "one": "ONE",
        "two": "TWO",
    }
)

Raison de la restriction

L'erreur provient du fait que Golang restreint les valeurs constantes à des types spécifiques. Selon la spécification du langage, seuls les éléments suivants peuvent être déclarés comme constantes :

  • Rune
  • Integer
  • Floating-point
  • Imaginaire
  • Chaîne
  • Identifiants désignant une constante
  • Expressions constantes
  • Valeurs de résultat des fonctions intégrées (par exemple, unsafe.Sizeof, cap, len, real, imag , complexe)

Nature des cartes

Les tableaux, tranches et cartes ne sont pas inclus dans cette liste de types autorisés pour les constantes. Bien que les cartes semblent similaires aux tableaux et aux tranches puisqu'elles ont une structure indexée, elles ne sont pas considérées comme des types numériques et ne peuvent donc pas être déclarées comme constantes.

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