Sobes.tech
Junior — Middle

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

sobes.tech AI

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

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

  • Τιμές boolean (bool)
  • Αριθμητικοί τύποι (int, float64 κ.λπ.)
  • Συμβολοσειρές (string)
  • Δείκτες
  • Δομές, αν όλα τα πεδία τους είναι συγκρίσιμα

Δεν μπορούν να χρησιμοποιηθούν ως κλειδιά slices (slice), χάρτες (map) ή συναρτήσεις, καθώς δεν υποστηρίζουν σύγκριση.

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

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

Αν θέλετε να χρησιμοποιήσετε σύνθετα κλειδιά, μπορείτε να ορίσετε μια δομή με συγκρίσιμα πεδία.