Heim > Backend-Entwicklung > Golang > Wie kann ich Go Maps in einer bestimmten Reihenfolge durchlaufen?

Wie kann ich Go Maps in einer bestimmten Reihenfolge durchlaufen?

DDD
Freigeben: 2024-12-07 16:58:15
Original
343 Leute haben es durchsucht

How to Iterate Through Go Maps in a Specific Order?

Warum Karten nicht in der richtigen Reihenfolge gedruckt werden

In Go sind Karten ungeordnete Sammlungen von Schlüssel-Wert-Paaren. Dies bedeutet, dass die Reihenfolge der Elemente in einer Karte nicht garantiert ist. Wenn Sie eine Karte durchlaufen, werden die Elemente in einer willkürlichen Reihenfolge zurückgegeben, was verwirrend oder problematisch sein kann, wenn Sie eine bestimmte Reihenfolge benötigen.

Karten in die richtige Reihenfolge bringen

Um Karten in Ordnung zu bringen, können Sie das Sortierpaket verwenden. Hier ist ein Beispiel:

package main

import (
    "fmt"
    "sort"
)

type monthsType struct {
    no   int
    text string
}

var months = map[int]string{
    1:"January", 2:"Fabruary", 3:"March", 4:"April", 5:"May", 6:"June",
    7:"July", 8:"August", 9:"September", 10:"October", 11:"Novenber", 12:"December",
}

func main(){
    // Create a slice of the map keys
    keys := make([]int, len(months))
    i := 0
    for key := range months {
        keys[i] = key
        i++
    }

    // Sort the slice of keys
    sort.Ints(keys)

    // Iterate over the keys and print the corresponding values
    for _, key := range keys {
        fmt.Println(key, "-", months[key])
    }
}
Nach dem Login kopieren

Dieser Code gibt die Kartenelemente in aufsteigender Reihenfolge der Schlüssel aus:

1 - January
2 - Fabruary
3 - March
4 - April
5 - May
6 - June
7 - July
8 - August
9 - September
10 - October
11 - Novenber
12 - December
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Go Maps in einer bestimmten Reihenfolge durchlaufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage