Können anonyme Strukturen in Go Methoden haben?
var anonymousStruct = &struct { Value int Test func() }{ Test: func() { fmt.Println(anonymousStruct.Value) }, }
Beim Betrachten des Codes bin ich in Zeile 6 auf ein Problem gestoßen: Die Funktion „Test“ kann nicht auf den Parameter „Wert“ zugreifen. Gibt es eine Möglichkeit, einer Funktion Zugriff auf „Value“ zu gewähren, ohne ihn erneut als Parameter zu übergeben, ähnlich wie bei „anonymousStruct.Test(anonymousStruct.Value)“? Mit anderen Worten: Können anonyme Strukturen in Go Methoden anstelle von Funktionen haben? Danke für deine Beratung.
Richtige Antwort
Sie können eine Methode nicht als anonyme Struktur deklarieren, da die Methodendeklaration nur benannte Typen (als Empfänger) enthalten kann.
Darüber hinaus können anonyme Strukturen Methoden haben, wenn sie in Typen eingebettet sind, die Methoden haben (sie werden hochgestuft).
In Ihrem Beispiel können Sie in einem zusammengesetzten Literal nicht auf eine anonymousStruct
Variable verweisen, da sich die Variable erst im Gültigkeitsbereich befindet, nachdem sie deklariert wurde (nach dem zusammengesetzten Literal). Siehe Spezifikation: Deklarationen und Bereiche ; Beispiel: Eine rekursive Funktion innerhalb einer Funktion definieren. Los geht's .
Zum Beispiel können Sie Funktionsfelder nach der Variablendeklaration initialisieren:
var anonymousStruct = &struct { Value int Test func() }{Value: 3} anonymousStruct.Test = func() { fmt.Println(anonymousStruct.Value) } anonymousStruct.Test()
Dies wird ausgegeben (versuchen Sie es auf Go Playground):
3
Das obige ist der detaillierte Inhalt vonKönnen anonyme Strukturen in Go Methoden haben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Ja, die H5-Seitenproduktion ist eine wichtige Implementierungsmethode für die Front-End-Entwicklung, die Kerntechnologien wie HTML, CSS und JavaScript umfasst. Entwickler bauen dynamische und leistungsstarke H5 -Seiten auf, indem sie diese Technologien geschickt kombinieren, z. B. die Verwendung der & lt; canvas & gt; Tag, um Grafiken zu zeichnen oder JavaScript zu verwenden, um das Interaktionsverhalten zu steuern.

Die Methode zur Anpassung der Größe der Größe der Größe der Größe in CSS ist mit Hintergrundfarben einheitlich. In der täglichen Entwicklung begegnen wir häufig Situationen, in denen wir die Details der Benutzeroberfläche wie Anpassung anpassen müssen ...

In Bezug auf die Gründe und Lösungen für falsch ausgerichtete Darstellung von Inline-Block-Elementen. Beim Schreiben von Webseitenlayout stoßen wir oft auf einige scheinbar seltsame Anzeigenprobleme. Vergleichen...

Echtzeit-Bitcoin-USD-Preis Faktoren, die den Bitcoin -Preis beeinflussen Indikatoren für die Vorhersage zukünftiger Bitcoin -Preise Hier finden Sie einige wichtige Informationen zum Preis von Bitcoin in den Jahren 2018-2024:

So verwenden Sie JavaScript oder CSS, um die obere und das Ende der Seite in den Druckeinstellungen des Browsers zu steuern. In den Druckeinstellungen des Browsers gibt es eine Option, um zu steuern, ob das Display ist ...

Wie kann man den 45-Grad-Kurveneffekt des Segmenters erreichen? Bei der Implementierung des Segmenters verwandeln Sie den rechten Rand in eine 45-Grad-Kurve, wenn Sie auf die linke Schaltfläche klicken, und der Punkt ...

Tipps zur Implementierung von Segmentierereffekten im Design der Benutzeroberfläche sind Segmentierer ein gemeinsames Navigationselement, insbesondere in mobilen Anwendungen und reaktionsschnellen Webseiten. ...

Das Problem der Containeröffnung aufgrund einer übermäßigen Auslassung von Text unter Flex -Layout und Lösungen werden verwendet ...
