Sobes.tech
Senior

Ποιοι τύποι δεδομένων μπορούν να χρησιμοποιηθούν ως κλειδί για έναν χάρτη; Μπορεί να χρησιμοποιηθεί ένας πίνακας ως κλειδί;

sobes.tech AI

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

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

Οι πίνακες στο Go είναι συγκρίσιμοι αν τα στοιχεία τους είναι συγκρίσιμα, επομένως οι πίνακες μπορούν να χρησιμοποιηθούν ως κλειδιά σε έναν χάρτη. Για παράδειγμα:

m := make(map[[3]int]string)
 m[[3]int{1, 2, 3}] = "τιμή"

Ωστόσο, οι slices δεν μπορούν να χρησιμοποιηθούν ως κλειδιά, καθώς δεν είναι συγκρίσιμες (εκτός αν συγκρίνονται με nil).