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

Pourquoi les déclarations de structure anonymes dans Go sont-elles considérées comme des « notations courtes » ?

Patricia Arquette
Libérer: 2024-10-28 09:29:29
original
647 Les gens l'ont consulté

  Why are Anonymous Struct Declarations in Go Considered

Comprendre les différences entre les déclarations de structure anonymes

Les structures anonymes sont un moyen pratique de définir des structures sans leur attribuer de nom. Ils sont principalement utilisés dans les situations où une définition de structure spécifique n'est pas cruciale ou lorsque la structure est uniquement destinée à contenir et transmettre des données. L'extrait de code suivant montre deux méthodes pour déclarer des structures anonymes dans Go :

<code class="go">var Foo = map[string]struct{}{
  "foo": struct{}{},
}</code>
Copier après la connexion
<code class="go">var Foo = map[string]struct{}{
  "foo": {},
}</code>
Copier après la connexion

Dans la première déclaration, un type explicite est spécifié comme struct{}{}. Cette déclaration de type redondante est inutile car Gogland l'identifie correctement comme un avertissement. Go permet l'omission du type dans les littéraux composites lorsque le type est déductible du contexte.

Dans la deuxième déclaration, le type est omis, ce qui donne la forme {}. Ceci est parfois appelé « notation courte » car cela ne nécessite pas de spécifier explicitement le type. Lorsqu'un littéral composite est utilisé dans une carte, les types de clé et de valeur peuvent être déduits du type de carte lui-même.

Par conséquent, la déclaration Foo = map[string]struct{}{"foo": {}} est équivalent au premier, mais avec l'omission de type autorisée par le langage Go. Cette notation courte ne modifie pas la fonctionnalité de la structure anonyme ; c'est simplement une différence syntaxique.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!