Sobes.tech
Junior — Middle

Μπορούν να χρησιμοποιηθούν πίνακες ως κλειδιά σε μια συλλογή Map;

sobes.tech AI

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

Στη Go, τα κλειδιά στη συλλογή map μπορούν να είναι μόνο τύποι που υποστηρίζουν την λειτουργία σύγκρισης ==. Οι πίνακες στη Go είναι συγκρίσιμοι στοιχείο προς στοιχείο, επομένως οι σταθερού μήκους πίνακες μπορούν να χρησιμοποιηθούν ως κλειδιά.

Παράδειγμα:

package main
import "fmt"

func main() {
    m := make(map[[3]int]string)
    key := [3]int{1, 2, 3}
    m[key] = "παράδειγμα"
    fmt.Println(m[key]) // Θα εμφανίσει: παράδειγμα
}

Ωστόσο, οι slices ([]int) δεν μπορούν να χρησιμοποιηθούν ως κλειδιά, καθώς δεν είναι συγκρίσιμες. Αν χρειάζεστε μια συλλογή με κλειδιά βασισμένα σε slices, πρέπει να τις μετατρέψετε σε string ή σε άλλο συγκρίσιμο τύπο.