Sobes.tech
Junior — Middle

Ποιοι τύποι κλειδιών επιτρέπονται για χρήση στη δομή δεδομένων Map;

sobes.tech AI

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

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

Οι επιτρεπτοί τύποι κλειδιών περιλαμβάνουν:

  • Βασικούς τύπους: int, float64, string, bool κ.ά.
  • Δείκτες
  • Δομές, αν όλα τα πεδία τους είναι συγκρίσιμα
  • Πίνακες, αν τα στοιχεία του πίνακα είναι συγκρίσιμα

Μη επιτρεπτοί τύποι κλειδιών:

  • Λωρίδες (slice)
  • Χάρτες (map)
  • Συναρτήσεις

Παράδειγμα χρήσης ενός χάρτη με κλειδί τύπου string:

m := make(map[string]int)
m["apple"] = 5
fmt.Println(m["apple"]) // 5

Αν προσπαθήσετε να χρησιμοποιήσετε μια λωρίδα ως κλειδί, ο μεταγλωττιστής θα εμφανίσει σφάλμα.