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}] = "Нүктө"
Эгер салыштырмалуу эмес типти ачкыч катары колдонууга аракет кылсаңыз, компилятор ката чыгарат.