Sobes.tech
Senior

Кадом намудҳои додаҳо метавонанд ҳамчун калид барои харита истифода шаванд? Оё метавон массивро ҳамчун калид истифода кард?

sobes.tech AI

Ҷавоб аз AI

Go'da, xəritənin açarı ==!= əməliyyatını dəstəkləyən hər hansı bir növ ola bilər. Bu, açarların əsas növlər (int, string, bool və s.), göstəricilər, strukturlar, əgər bütün sahələri müqayisə edilə bilirsə, və həmçinin interfeyslər, əgər dinamik növ müqayisə edilə bilirsə, ola biləcəyi anlamına gəlir.

Go'da massivlər, əgər onların elementləri müqayisə edilə bilirsə, müqayisə edilə bilərlər, ona görə massivlər xəritədə açar kimi istifadə oluna bilər. Məsələn:

m := make(map[[3]int]string)
 m[[3]int{1, 2, 3}] = "dəyər"

Ancaq dilimlər (slice) açar kimi istifadə edilə bilməz, çünki onlar müqayisə edilə bilməz (yalnız nil ilə müqayisə edilə bilər).