Warum gelten anonyme Strukturdeklarationen in Go als „Kurznotation'?

Patricia Arquette
Freigeben: 2024-10-28 09:29:29
Original
647 Leute haben es durchsucht

  Why are Anonymous Struct Declarations in Go Considered

Unterschiede zwischen anonymen Strukturdeklarationen verstehen

Anonyme Strukturen sind eine bequeme Möglichkeit, Strukturen zu definieren, ohne ihnen einen Namen zuzuweisen. Sie werden hauptsächlich in Situationen verwendet, in denen eine bestimmte Strukturdefinition nicht entscheidend ist oder wenn die Struktur nur dazu gedacht ist, Daten zu speichern und weiterzugeben. Der folgende Codeausschnitt demonstriert zwei Methoden zum Deklarieren anonymer Strukturen in Go:

<code class="go">var Foo = map[string]struct{}{
  "foo": struct{}{},
}</code>
Nach dem Login kopieren
<code class="go">var Foo = map[string]struct{}{
  "foo": {},
}</code>
Nach dem Login kopieren

In der ersten Deklaration wird ein expliziter Typ als struct{}{} angegeben. Diese redundante Typdeklaration ist unnötig, da Gogland sie korrekt als Warnung identifiziert. Go erlaubt das Weglassen des Typs in zusammengesetzten Literalen, wenn der Typ aus dem Kontext abgeleitet werden kann.

In der zweiten Deklaration wird der Typ weggelassen, was zur Form {} führt. Dies wird manchmal als „kurze Notation“ bezeichnet, da der Typ nicht explizit angegeben werden muss. Wenn ein zusammengesetztes Literal innerhalb einer Karte verwendet wird, können die Typen von Schlüssel und Wert aus dem Kartentyp selbst abgeleitet werden.

Daher lautet die Deklaration Foo = map[string]struct{}{"foo": {}} entspricht dem ersten, jedoch mit der von der Go-Sprache erlaubten Typauslassung. Diese kurze Notation ändert nichts an der Funktionalität der anonymen Struktur; es ist lediglich ein syntaktischer Unterschied.

Das obige ist der detaillierte Inhalt vonWarum gelten anonyme Strukturdeklarationen in Go als „Kurznotation'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!