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"])
Αν θέλετε να χρησιμοποιήσετε σύνθετα κλειδιά, μπορείτε να ορίσετε μια δομή με συγκρίσιμα πεδία.