Schnittstelle als Void-Pointer in Go
In Datenstrukturbibliotheken ist es oft wünschenswert, mit verschiedenen Datentypen zu arbeiten. In C kann dies mithilfe von Void-Zeigern erfolgen. In Go sind Void-Zeiger jedoch nicht verfügbar.
Die Go-Lösung: Schnittstelle{}
Das Go-Äquivalent eines Void-Zeigers ist die leere Schnittstelle, Schnittstelle {}. Gemäß der Sprachspezifikation „implementieren alle Typen die leere Schnittstelle“. Dies bedeutet, dass jeder Typ in einer Variablen vom Typ interface{} gespeichert werden kann.
Verwendungsbeispiel
Um interface{} zu verwenden, deklarieren Sie einfach eine Variable dieses Typs :
var v interface{}
Sie können der Variablen dann einen beliebigen Datentyp zuweisen:
v = 10
Die Daten können dann abgerufen werden Verwendung von Typzusicherungen:
if number, ok := v.(int); ok { // v can be safely treated as an int }
Das obige ist der detaillierte Inhalt vonWie geht Go mit ungültigen Zeigern über „interface{}' um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!