Heim >Backend-Entwicklung >Golang >Golang-Karte zum Array
Map in der Go-Sprache ist eine sehr häufig verwendete Datenstruktur, die eine schnelle Suche und Aktualisierung von Schlüssel-Wert-Paaren ermöglichen kann. In einigen Fällen müssen wir die Karte jedoch möglicherweise in ein Array konvertieren, um bestimmte Vorgänge oder Ausgaben auszuführen.
In diesem Artikel wird die Konvertierung von Golang Map in ein Array vorgestellt und Beispiele für praktische Anwendungsszenarien gegeben.
Die einfachste Möglichkeit, Map in Array zu konvertieren, besteht darin, über die Map zu iterieren und Elemente nacheinander zum Array hinzuzufügen. Der spezifische Code lautet wie folgt:
func MapToArray(m map[string]string) []string { arr := make([]string, 0, len(m)) for _, v := range m { arr = append(arr, v) } return arr }
Im obigen Code wird ein Array arr in der Funktion definiert und seine Kapazität wird auf die Länge der Karte festgelegt. Dann iterieren Sie über die Karte und fügen Sie ihre Werte nacheinander zum Array hinzu. Geben Sie abschließend dieses Array zurück.
In manchen Fällen möchten wir Map in ein geordnetes Array umwandeln, das nach bestimmten Regeln sortiert ist. Zu diesem Zeitpunkt können Sie das Sortierpaket zum Sortieren des Arrays verwenden. Der spezifische Code lautet wie folgt:
import "sort" func MapToSortedArray(m map[string]int) []string { keys := make([]string, 0, len(m)) for k := range m { keys = append(keys, k) } sort.Strings(keys) arr := make([]string, len(m)) for i, k := range keys { arr[i] = k } return arr }
Der obige Code extrahiert zunächst den Schlüsselwert der Map in ein String-Array und sortiert ihn. Fügen Sie dann die Kartenwerte nacheinander entsprechend den sortierten Schlüsselwerten zum Array hinzu. Geben Sie abschließend dieses geordnete Array zurück.
In einigen Szenarien müssen wir die Schlüssel-Wert-Paare in der Karte für den Betrieb in ein zweidimensionales Array konvertieren. Zu diesem Zeitpunkt müssen Sie nur die Karte durchlaufen und jedes Schlüssel-Wert-Paar einem zweidimensionalen Array hinzufügen. Der spezifische Code lautet wie folgt:
func MapToMultiArray(m map[string]int) [][]interface{} { arr := make([][]interface{}, 0, len(m)) for k, v := range m { kv := []interface{}{k, v} arr = append(arr, kv) } return arr }
Im obigen Code wird zunächst ein zweidimensionales Array arr definiert. Dann iterieren Sie über die Map, konvertieren Sie jedes Schlüssel-Wert-Paar in ein Segment der Länge 2 und fügen Sie es dem zweidimensionalen Array arr hinzu. Geben Sie abschließend dieses zweidimensionale Array zurück.
Die oben genannten Map-to-Array-Methoden haben alle bestimmte Anwendungsszenarien:
(1) Unter einer bestimmten Datenmenge ist die Effizienz der Array-Suche höher als die von Map . Einige Anwendungen, die eine schnelle Suche erfordern, wie kleine Datenbanken, Suchmaschinen usw., können Daten in Arrays laden.
(2) Nach der Konvertierung der Karte in ein geordnetes Array oder ein zweidimensionales Array kann es bequemer sein, Vorgänge wie Sortieren und Durchlaufen auszuführen.
(3) Manchmal müssen wir die Daten in der Karte möglicherweise in andere Programmiersprachen oder Plattformen übertragen, und diese Plattformen oder Programmiersprachen unterstützen die Kartendatenstruktur nicht. In diesem Fall muss die Karte dies tun in ein Array umgewandelt werden. Beispielsweise kann das Front-End bei der Front-End- und Back-End-Interaktion die Map-Struktur normalerweise nicht direkt verwenden und muss die Map in ein Array konvertieren und dann an das Front-End übertragen.
Im Allgemeinen haben Karten und Arrays ihre eigenen Anwendungsszenarien und welche Datenstruktur sollte basierend auf den tatsächlichen Anforderungen ausgewählt werden. Wenn jedoch eine Konvertierung erforderlich ist, kann uns die obige Methode dabei helfen, die Karte schnell in ein Array zu konvertieren.
Das obige ist der detaillierte Inhalt vonGolang-Karte zum Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!