Junior — Middle
Може ли да се извуче вредност из мапе која још увек није иницијализована?
sobes.tech АИ
Одговор од АИ
У Go, ако mapa (mapa) nije inicijalizovana (tj. jednaka je nil), pokušaj da se iz nje izvuku vrednosti po ključevi neće izazvati paniku, već će jednostavno vratiti početnu vrednost za tip vrednosti i boolean zastavicu false, što ukazuje da ključ ne postoji.
Primer:
var m map[string]int // m == nil
value, ok := m["key"]
fmt.Println(value, ok) // Ispisaće: 0 false
Međutim, ako pokušate da zapišete vrednost u neinicijalizovanu mapu, doći će do panike:
m["key"] = 10 // panika: dodela u nil mapu
Zato, za sigurnu upotrebu mape, potrebno je da je inicijalizujete, na primer, pomoću make:
m = make(map[string]int)
m["key"] = 10 // sada radi ispravno