Junior — Middle
Strukturlardan istifadə edərək assosiativ massiv və ya xəritədə açar kimi istifadə etmək mümkündürmü?
sobes.tech Süni İntellekt
AI-dan cavab
Go-da, xəritədə açarlar yalnız müqayisə əməliyyatını dəstəkləyən tiplər ola bilər (== operatoru). Strukturlar, əgər bütün sahələri müqayisə edilə bilən olsa, açar kimi istifadə edilə bilər. Məsələn, əgər struktur yalnız əsas tiplər (int, string və s.) ehtiva edirsə, onu açar kimi istifadə etmək olar. Ancaq, əgər struktur dilimləri, xəritələr və ya funksiyalar ehtiva edirsə, onu açar kimi istifadə etmək olmaz.
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 xəta verəcək.