Sobes.tech
Middle

Ключ катары кайсы маалымат түрлөрүн колдонсо болот?

sobes.tech AI

AIден жооп

Goда ачкычтар картанын ичинде тек салыштыруу операциясын (==) колдой турган түрлөр гана болушу мүмкүн. Бул, хэш таблицасында ачкычты издөө үчүн ачкычтарды теңдик боюнча салыштыруу керектигинен келип чыгат.

Ачкыч катары колдонулушу мүмкүн болгон түрлөр:

  • Примитивдүү түрлөр: int, float64, string, bool жана башка.
  • Жолдоочулар
  • Бардык талаалары салыштырылган структуралар
  • Элементтери салыштырылган массивдер

Ачкыч катары колдонулбай турган түрлөр:

  • Слайстер (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}] = "Бир чекит"

Эгер сиз слайс же карта колдонуп, ачкыч катары колдонсоңуз, компилятор ката чыгарат.