Junior — Middle
რა ტიპის მონაცემები მიიღება როგორც გასაღებები რუკის სტრუქტურაში?
sobes.tech AI
პასუხი AI-სგან
Go-ში, რუკის გასაღებები შეიძლება იყოს მხოლოდ იმ მონაცემთა ტიპები, რომლებიც მხარს უჭერენ შედარების ოპერაციას (შედარებადი). ეს ნიშნავს, რომ გასაღებები შეიძლება იყოს:
- ბულიან მნიშვნელობები (bool)
- რიცხვები (int, float, complex და ა.შ.)
- სტრიქონები (string)
- მაჩვენებლები
- ინტერფეისები, თუ დინამიური ტიპი მხარს უჭერს შედარებას
- სტრუქტურები, თუ ყველა მათი ველი შედარებადი არის
სლაისები, რუკები, ფუნქციები და სხვა შედარებადი არა ტიპები არ შეიძლება გამოყენებულ იქნას გასაღებად, რადგან ისინი არ მხარს უჭერენ == ოპერატორს.
მაგალითი:
m := make(map[string]int)
m["key"] = 42
// შედარებადი ველებით სტრუქტურა
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1,2}] = "ნიშანი"