Middle
რა ტიპის მონაცემებს შეიძლება გამოიყენოს გასაღებად?
sobes.tech AI
პასუხი AI-სგან
Go-da, kartadagi açarlar yalnızca müqayisə əməliyyatını (==) dəstəkləyən tiplər ola bilər. Bu, hash cədvəlində açarı tapmaq üçün açarların bərabərliyini müqayisə etmək lazım olduğu üçün baş verir.
Açar kimi istifadə oluna bilən tiplər:
- Əsas tiplər:
int,float64,string,boolvə s. - Göstəricilər
- Əgər bütün sahələri müqayisə oluna bilən strukturlar
- Elementləri müqayisə oluna bilən massivlər
Açar kimi istifadə oluna bilməyən tiplər:
- Dilimlər (
slice) - Xəritələr (
map) - Funktsiyalar
Bu, bu tiplərin == ilə müqayisəni dəstəkləməməsi ilə əlaqədardır.
Nümunə:
m := make(map[string]int)
m["key"] = 42
// Müqayisə oluna bilən sahələrə malik struktur
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1, 2}] = "Bir nöqtə"
Əgər dilim və ya xəritəni açar kimi istifadə etməyə çalışsanız, tərtibçi xəta verəcək.