Sobes.tech
Junior — Middle

რა ტიპის გასაღებებია დაშვებული Map მონაცემთა სტრუქტურაში გამოყენებისთვის?

sobes.tech AI

პასუხი AI-სგან

Go-ში, მონაცემთა სტრუქტურის map გასაღებები უნდა იყოს შედარებადი (comparable) ტიპები, ანუ ისეთი ტიპები, რომლებიც შეიძლება გამოყენებულ იქნას შედარების ოპერაციებში == და !=.

დაშვებული გასაღებების ტიპები მოიცავს:

  • პრიმიტიული ტიპები: int, float64, string, bool და ა.შ.
  • პოინტერები
  • სტრუქტურები, თუ ყველა მათი ველი შედარებადი არის
  • მასივები, თუ მასივის ელემენტები შედარებადი არიან

არასაშვები გასაღებების ტიპები:

  • სლაისები (slice)
  • რუკები (map)
  • ფუნქციები

მაგალითი string ტიპის გასაღებით რუკის გამოყენების:

m := make(map[string]int)
m["apple"] = 5
fmt.Println(m["apple"]) // 5

თუ სცადეთ სლაის როგორც გასაღებს გამოყენება, კომპილატორი შეცდომას გამოიწვევს.