Sobes.tech
Junior — Middle

Ποιες χαρακτηριστικές ιδιότητες πρέπει να έχουν τα κλειδιά σε μια δομή δεδομένων map;

sobes.tech AI

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

Στη Go, τα κλειδιά σε ένα χάρτη πρέπει να είναι συγκρίσιμα (comparable) τύποι, δηλαδή τύποι που μπορούν να χρησιμοποιηθούν με τους τελεστές σύγκρισης == και !=. Αυτό είναι απαραίτητο ώστε ο χάρτης να μπορεί να αναζητά και να συγκρίνει αποτελεσματικά τα κλειδιά.

Τύποι που μπορούν να χρησιμοποιηθούν ως κλειδιά:

  • Απλοί τύποι: συμβολοσειρές, αριθμοί, boolean τιμές.
  • Δείκτες.
  • Δομές, αν όλα τα πεδία τους είναι συγκρίσιμα.

Τύποι που δεν μπορούν να χρησιμοποιηθούν ως κλειδιά:

  • Λωρίδες (slice), χάρτες (map), συναρτήσεις (func), καθώς δεν είναι συγκρίσιμα.

Παράδειγμα:

m := make(map[string]int)
m["key"] = 42

Εδώ, το κλειδί είναι μια συμβολοσειρά, που είναι σωστό.