In Ihrem Code ist ein typbezogener Fehler aufgetreten Kompatibilität zwischen einer in der Tastenfunktion verwendeten Karte und der Karte, auf die Sie zugreifen möchten:
cannot use m2 (type map[int]interface {}) as type map[interface {}]interface {} in argument to Keys
Um dieses Problem zu beheben, sollten Sie Folgendes beachten Folgendes:
In In Ihrem Code ist die Funktion „Keys“ so definiert, dass sie mit einer Karte vom Typ „map[interface{}]interface{} funktioniert, während Sie eine Karte vom Typ „map[int]interface{}“ verwenden. Diese Typen sind nicht kompatibel, da die Schlüsseltypen unterschiedlich sind.
Es gibt mehrere Möglichkeiten, dieses Problem zu beheben:
Option 1: Ändern Sie die Tasten Funktion
func Keys(m map[int]interface{}) []interface{} { // Implement function }
Option 2: Karte ändern
m2 := map[interface{}]interface{}{ 2: "string", 3: "int", }
Option 3: Reflection verwenden (Nicht empfohlen)
Denken Sie daran, dass die Typkompatibilität in Golang von entscheidender Bedeutung ist. Stellen Sie sicher, dass die Typen in Ihrem Code mit den erwarteten Typen übereinstimmen, um solche Fehler zu vermeiden.
Das obige ist der detaillierte Inhalt vonWarum gibt mein Go-Code den Fehler „m2 kann Map[interface{}]interface{} nicht zugewiesen werden' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!