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

Агар кӯшиш кунед, ки срезро ҳамчун калид истифода баред, компилятор хато хоҳад дод.