Effizientes Abrufen von Kartenschlüsseln in Go
Das Durchlaufen einer Karte in Go und das Kopieren ihrer Schlüssel in ein Slice ist eine gängige Methode für Schlüsselabruf gibt es effizientere Ansätze.
Original Ansatz:
i := 0 keys := make([]int, len(mymap)) for k := range mymap { keys[i] = k i++ }
Verbesserte Ansätze:
1. Festlegen der Kapazität:
Durch Festlegen der Kapazität des Schlüsselsegments auf die Länge der Karte kann die Notwendigkeit einer Neuzuweisung während des Anhängevorgangs entfallen.
keys := make([]int, 0, len(mymap)) for k := range mymap { keys = append(keys, k) }
2. Direkte Zuweisung:
Da die Anzahl der Schlüssel bekannt ist, kann anstelle des Anhängens die direkte Zuweisung verwendet werden, was zu einer schnelleren Ausführung führt.
keys := make([]int, len(mymap)) i := 0 for k := range mymap { keys[i] = k i++ }
Leistungsvergleich:
Der direkte Zuweisungsansatz bietet den effizientesten Schlüsselabruf und übertrifft die anderen Methoden bei Geschwindigkeitstests mit Karten mit einer großen Anzahl von Schlüssel.
Das obige ist der detaillierte Inhalt vonWas ist der effizienteste Weg, Kartenschlüssel in Go abzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!