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: assignment to entry in nil map
delete(m, "key") // қауіпсіз, ештеңе істемейді
Картаны жазу үшін оны инициализациялау керек, мысалы, make көмегімен:
m = make(map[string]int)
m["key"] = 10 // енді жұмыс істейді