Sobes.tech
Junior — Middle

Είναι η δομή δεδομένων Map στη γλώσσα προγραμματισμού ταξινομημένη κατά κλειδιά;

sobes.tech AI

Απάντηση από AI

Στη γλώσσα προγραμματισμού Go, η ενσωματωμένη δομή δεδομένων map δεν εγγυάται την ταξινόμηση κατά κλειδιά. Η σειρά διαδρομής των στοιχείων στο map είναι τυχαία και μπορεί να αλλάξει μεταξύ των επαναλήψεων.

Εάν χρειάζεται να ταξινομήσετε τα στοιχεία κατά κλειδιά, πρέπει να εξάγετε τα κλειδιά σε μια λίστα, να την ταξινομήσετε με τη χρήση της sort και στη συνέχεια να διατρέξετε το map με την ταξινομημένη σειρά των κλειδιών:

keys := make([]string, 0, len(m))
for k := range m {
    keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
    fmt.Println(k, m[k])
}

Έτσι, το map από μόνο του δεν είναι ταξινομημένο, αλλά η ταξινόμηση μπορεί να υλοποιηθεί χειροκίνητα.