Sobes.tech
Junior — Middle

Πώς μπορούμε να εξάγουμε τις τιμές ταξινομημένες κατά αναγνωριστικό από έναν πίνακα κατακερματισμού;

sobes.tech AI

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

Στο Go, ο πίνακας κατακερματισμού υλοποιείται με τον τύπο map, ο οποίος δεν εγγυάται τη σειρά των στοιχείων κατά την επανάληψη. Για να λάβετε τιμές ταξινομημένες κατά κλειδί (π.χ. αναγνωριστικό), πρέπει:

  1. Να εξάγετε όλα τα κλειδιά από το χάρτη σε μια λίστα.
  2. Να ταξινομήσετε τη λίστα των κλειδιών χρησιμοποιώντας τη συνάρτηση sort.
  3. Να διατρέξετε τα ταξινομημένα κλειδιά και να λάβετε τις αντίστοιχες τιμές από το χάρτη.

Παράδειγμα:

package main

import (
    "fmt"
    "sort"
)

func main() {
    data := map[int]string{
        3: "τρία",
        1: "ένα",
        2: "δύο",
    }

    // Εξαγωγή κλειδιών
    keys := make([]int, 0, len(data))
    for k := range data {
        keys = append(keys, k)
    }

    // Ταξινόμηση κλειδιών
    sort.Ints(keys)

    // Διατρέξτε τα ταξινομημένα κλειδιά
    for _, k := range keys {
        fmt.Printf("%d: %s\n", k, data[k])
    }
}

Έτσι, θα λάβετε τις τιμές ταξινομημένες κατά αναγνωριστικό (κλειδί).