Junior — Middle
Məlumatlar quruluşunu xəritədə və ya hash-cədvəldə açar kimi istifadə etmək mümkündürmü?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində, məlumat strukturu, müqayisə edilə bilən (comparable) tələblərinə cavab verdiyi halda, xəritədə (map) açar kimi istifadə oluna bilər. Bu, strukturun bütün sahələrinin == operatoru ilə müqayisə edilə bilən tiplərdə olması deməkdir.
Məsələn, yalnız əsas tipləri (int, string, bool və s.) və ya digər müqayisə edilə bilən strukturları ehtiva edən strukturlar açar kimi istifadə oluna bilər. Ancaq dilimlər, xəritələr və funksiyalar ehtiva edən strukturlar açar ola bilməz, çünki bu tiplər müqayisə edilə bilməz.
Nümunə:
package main
import "fmt"
type Point struct {
X, Y int
}
func main() {
m := make(map[Point]string)
p := Point{X: 1, Y: 2}
m[p] = "nöqtə"
fmt.Println(m[p]) // çıxış: nöqtə
}
Əgər struktur müqayisə edilə bilməyən sahələr ehtiva edirsə, tərtibçi onu xəritə açarı kimi istifadə etməyə çalışarkən xəta verəcək.