Junior — Middle
Milyen esetekben biztonságos adatokat olvasni egy Map-ből, amelyet még nem inicializáltak kifejezetten?
sobes.tech MI
Válasz az MI-től
Go-ban, egy map-ből való olvasás, amelyet nem inicializáltak kifejezetten (azaz nil), biztonságos, de korlátozásokkal.
Ha a map nil, akkor:
- A kulcs szerinti érték olvasása a típus alapértelmezett értékét és
false-t ad vissza a kulcs létezésének ellenőrzésekor. - Egy ilyen
map-be írás (hozzárendelés) pánikot okoz.
Példa:
var m map[string]int // m == nil
value, ok := m["key"] // biztonságos, value == 0, ok == false
// m["key"] = 10 // pánik: hozzárendelés egy nil map-hez
Ezért, ha nem inicializált map-ből olvasunk, az biztonságos, de írni nem lehet bele. A íráshoz először inicializálni kell a make segítségével.