Sobes.tech
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 картага кайрылуу катасыз болот, бирок жазууда карта алдын ала түзүлүшү керек.