Sobes.tech
Junior — Middle

Որ տվյալների տեսակները կարող են որպես բանալի գործել քարտեզի կոնտեյների մեջ։

sobes.tech AI

Պատասխան AI-ից

Go-ում, քարտեզի բանալի կարող է լինել միայն համեմատելի (comparable) տվյալների տիպերից։ Դա նշանակում է, որ բանալիի համար պետք է սահմանված լինի == օպերատորը։

Համապատասխան բանալի տիպեր՝

  • Բուլյան արժեքներ (bool)
  • Թվեր (int, float64, uint8 և այլն)
  • Տողեր (string)
  • Ցկածներ
  • Անջատիչներ
  • Կանալներ
  • Ինտերֆեյսներ, եթե դինամիկ տիպը համեմատելի է
  • Կառուցվածքներ, եթե բոլոր դաշտերը համեմատելի են

Չեն կարող օգտագործվել որպես բանալի՝

  • Սլայսներ (slice)
  • Քարտեզներ (map)
  • Ֆունկցիաներ

Օրինակ՝

m := make(map[string]int)
m["key"] = 42

// Համեմատելի դաշտերով կառուցվածք
type Point struct {
    X, Y int
}

m2 := make(map[Point]string)
m2[Point{1,2}] = "Նկատում"

Եթե փորձեք օգտագործել անհամեմատելի տիպ որպես բանալի, կոմպիլյատորը կհայտարարի սխալ։