Junior — Middle
Инициализацияланбаган Map түрүндөгү өзгөрмө менен кандай аракеттерди жасоо мүмкүн?
sobes.tech AI
AIден жооп
Go тилинде, map түрүндөгү өзгөрмө алдын ала инициализацияланбаса, стандарттык түрдө nil маанисин алат.
nil карта менен төмөнкү аракеттерди жасоо мүмкүн:
- ачкыч боюнча маанини окуу — бул түрдүн нөл маанисин жана ачкычтын жоктугун көрсөткөн белгилерди кайтарат.
value, ok := map[key]оператору аркылуу ачкычтын бар-жогун текшерүү.
Тыйынган аракеттер:
- жазуу (маани берүү) panic менен аяктайт.
deleteсыяктуу функцияларды чакыруу,nilкартада коопсуз жана panic пайда кылбайт.
мисал:
var m map[string]int // m == nil
v, ok := m["key"] // ok == false, v == 0
// m["key"] = 10 // panic: nil картага маани берүү
delete(m, "key") // коопсуз, эч нерсе кылбайт
картага жазуу үчүн аны баштапкы түрдө инициализациялоо керек, мисалы, make аркылуу:
m = make(map[string]int)
m["key"] = 10 // эми иштейт