Typdeklarationen in Go verstehen
Wenn man Go mit einem .NET-Hintergrund lernt, kann es vorkommen, dass man auf unbekannte Typdeklarationen stößt. Betrachten Sie diesen Codeausschnitt:
// PublicKey is the type of Ed25519 public keys. type PublicKey []byte
Was bedeutet diese Deklaration?
Im Gegensatz zur Vererbung verwendet Go Typdefinitionen, um neue Typen mit gemeinsam genutzten zugrunde liegenden Typen zu erstellen. Durch die Definition eines solchen Typs können Entwickler:
Während sowohl neue Typen als auch Funktionen für typspezifische Vorgänge verwendet werden können, können nur Typen mit Methoden Schnittstellen implementieren, wie z. B. das zum Sortieren verwendete sort.Interface Werte.
Daher erstellt die obige Deklaration einen benutzerdefinierten Typ, PublicKey, mit einem zugrunde liegenden Typ von []byte, der das Anhängen von Methoden ermöglicht. Beispielsweise ist ein sort.IntSlice-Typ zum Sortieren ganzzahliger Slices definiert, der das Sortieren von Werten vom Typ []int ermöglicht.
Hauptunterschiede zur Vererbung
Im Gegensatz zur Vererbung Beim Erstellen neuer Typen in Go werden weder Methoden geerbt noch besteht eine Eltern-Kind-Beziehung. Um eine ähnliche Funktionalität zu erreichen, sollte die Einbettung (Strukturtypen) in Betracht gezogen werden, bei der die Methoden eines eingebetteten Typs für den Einbettungstyp verfügbar werden.
Das obige ist der detaillierte Inhalt vonWas deklariert „type PublicKey []byte' in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!