Beim Abrufen von Schlüsseln aus einer Karte ist es wichtig, die Typkompatibilität sicherzustellen. Die starke Typisierung von Go erfordert die Zuordnung von Tasten desselben Typs. Wenn Ihre Keys()-Funktion eine Karte vom Typ „map[interface{}]interface{} angibt, Ihre tatsächliche Karte jedoch vom Typ „map[int]interface{} ist, wird leider ein Typkonfliktfehler auftreten.
Im Gegensatz zu Sprachen wie Java oder C# unterstützt Go keine Generika. Dies vereinfacht die Sprache und verbessert die Leistung. Daher können Sie keine generischen Funktionen erstellen, die auf Zuordnungen eines beliebigen Schlüssel- oder Werttyps angewendet werden.
Um den Typkonflikt zu beheben, haben Sie mehrere Möglichkeiten:
func Keys(m map[int]interface{}) []int { keys := make([]int, len(m)) i := 0 for k := range m { keys[i] = k i++ } return keys }
m2 := map[interface{}]interface{}{ 2: "string", 3: "int", }
Das obige ist der detaillierte Inhalt vonWie kann ich Kartenschlüssel in Go sicher abrufen: Probleme mit Typkonflikten beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!