Junior — Middle
რომელი მონაცემთა ტიპები შესაფერისია Map სტრუქტურაში გასაღებად?
sobes.tech AI
პასუხი AI-სგან
Go-ში, map სტრუქტურაში გასაღებები შეიძლება იყოს მხოლოდ ისეთი ტიპები, რომლებიც მხარს უჭერენ თანასწორობის შედარების ოპერაციას (== და !=). ეს მნიშვნელოვანია, რადგან გასაღებით მნიშვნელობის მოძიებისთვის საჭიროა გასაღებების შედარება.
მოწესრიგებული გასაღებების ტიპები:
- მარტივი ტიპები:
int,float64,string,boolდა ა.შ. - მაჩვენებლები
- სტრუქტურები, თუ ყველა მათი ველი შედარებადი არის
- მასივები, თუ მათი ელემენტები შედარებადი არიან
არ შეიძლება გამოიყენოს როგორც გასაღები:
- სლაისები (
slice) - რუკები (
map) - ფუნქციები
გამოყენების მაგალითი:
m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3
fmt.Println(m["apple"]) // 5
თუ სცადეთ სლაის გამოყენება როგორც გასაღებს, კომპილატორი გამოიტანს შეცდომას.