Junior — Middle
Эмне үчүн алдын ала түзүлгөн эмес сөздүктөгү маанилерге кандайча жетүүгө болот?
sobes.tech AI
AIден жооп
Go тилинде, эгер карта (map) дагы түзүлбөсө (демек, nil болсо), ачкыч боюнча элементтерге кирүү паникага алып келбейт, тескерисинче, элементтердин түрүнүн нөл маанисин кайтарат.
Мисал:
var m map[string]int // m == nil
fmt.Println(m["key"]) // 0 чыгарат, ката кылбайт
Бирок, nil картага маанини белгилөө аракети паникага алып келет:
m["key"] = 10 // паника: nil картага жазуу
Ошондуктан, картага жазуудан мурун, ал инициализацияланганына ишенимдүү болуш керек, мисалы:
m = make(map[string]int)
m["key"] = 10
Ошентип, окууда nil картага кайрылуу катасыз болот, бирок жазууда карта алдын ала түзүлүшү керек.