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 ή σε άλλο συγκρίσιμο τύπο.