Senior
Ποιοι τύποι δεδομένων μπορούν να χρησιμοποιηθούν ως κλειδί για έναν χάρτη; Μπορεί να χρησιμοποιηθεί ένας πίνακας ως κλειδί;
sobes.tech AI
Απάντηση από AI
Στο Go, το κλειδί για έναν χάρτη μπορεί να είναι οποιοδήποτε τύπο που υποστηρίζει την λειτουργία σύγκρισης == και !=. Αυτό σημαίνει ότι τα κλειδιά μπορούν να είναι βασικοί τύποι (int, string, bool κ.λπ.), δείκτες, δομές αν όλα τα πεδία τους είναι συγκρίσιμα, και επίσης διεπαφές αν ο δυναμικός τύπος είναι συγκρίσιμος.
Οι πίνακες στο Go είναι συγκρίσιμοι αν τα στοιχεία τους είναι συγκρίσιμα, επομένως οι πίνακες μπορούν να χρησιμοποιηθούν ως κλειδιά σε έναν χάρτη. Για παράδειγμα:
m := make(map[[3]int]string)
m[[3]int{1, 2, 3}] = "τιμή"
Ωστόσο, οι slices δεν μπορούν να χρησιμοποιηθούν ως κλειδιά, καθώς δεν είναι συγκρίσιμες (εκτός αν συγκρίνονται με nil).