Heim >Backend-Entwicklung >Golang >Können Funktionen als Schlüssel in Go Maps verwendet werden?
Zuordnung mit Funktionstasten
Die Zuordnung von Daten mithilfe von Funktionen als Tasten kann Flexibilität beim Zugriff auf Werte bieten. Der Versuch, eine Karte mit einer Funktion als Schlüssel zu erstellen, wie unten dargestellt, führt jedoch zu einem Fehler:
type Action func(int) func test(a int) { } func test2(a int) { } func main() { x := map[Action]bool{} x[test] = true x[test2] = false }
Fehler: Aktion für ungültigen Kartenschlüsseltyp
Sprachbeschränkung
Die Go-Sprachspezifikation besagt ausdrücklich, dass Funktionen nicht als Kartenschlüssel verwendet werden können. Diese Einschränkung ergibt sich aus der Anforderung, dass Schlüssel Operatoren wie Gleichheitsvergleiche unterstützen müssen, was für Funktionen nicht möglich ist.
The comparison operators == and != must be fully defined for operands of the key type; thus the key type must not be a function, map, or slice.
Daher ist die Verwendung von Funktionen als Zuordnungsschlüssel von der Sprache nicht zulässig, um die Konsistenz von Schlüsselvergleichen sicherzustellen und mögliche Fehler verhindern.
Das obige ist der detaillierte Inhalt vonKönnen Funktionen als Schlüssel in Go Maps verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!