Junior — Middle
În ce cazuri este permis să efectuați o operație de inserție într-un Map care nu a fost încă inițializat?
sobes.tech AI
Răspuns de la AI
În Go, nu se poate efectua o operație de inserare într-un map dacă acesta nu a fost inițializat (adică, dacă este nil), deoarece acest lucru va duce la panic în timpul execuției.
Inițializarea map se face cu ajutorul funcției make:
m := make(map[string]int)
ms["key"] = 42 // corect
Dacă map este nil, o încercare de scriere va provoca panic:
var m map[string]int
m["key"] = 42 // panic: atribuire într-un map nil
Excepție:
- Dacă
mapeste declarat, dar neinițializat, poate fi inițializat direct înainte de inserție. - Uneori,
mappoate fi inițializat în constructor sau funcție și transmis mai departe.
Prin urmare, inserția într-un map neinițializat este permisă doar după inițializarea explicită prin make sau atribuirea unui map deja existent și inițializat. Fără aceasta, operația va cauza o eroare în timpul execuției.