Junior — Middle
U kojim slučajevima je dozvoljeno izvršiti operaciju umetanja u Mapu koja još nije inicijalizovana?
sobes.tech АИ
Одговор од АИ
U jeziku Go, nije moguće izvršiti operaciju umetanja u map ako ona nije inicijalizovana (tj. ako je nil), jer će to dovesti do panike tokom izvršavanja.
Inicijalizacija map se vrši pomoću funkcije make:
m := make(map[string]int)
ms["key"] = 42 // ispravno
Ako je map nil, pokušaj pisanja će izazvati paniku:
var m map[string]int
m["key"] = 42 // panika: dodela u `nil` mapu
Izuzetak:
- Ako je
mapdeklarisana, ali nije inicijalizovana, može se inicijalizovati direktno pre umetanja. - Ponekad,
mapse inicijalizuje u konstruktoru ili funkciji i prosleđuje se dalje.
Stoga, umetanje u neinicijalizovanu map je dozvoljeno samo nakon njene eksplicitne inicijalizacije putem make ili dodeljivanjem već postojeće i inicijalizovane map. Bez toga, operacija će izazvati grešku tokom izvršavanja.