Junior — Middle
In welke gevallen is het veilig om gegevens uit een Map te lezen die nog niet expliciet is geïnitialiseerd?
sobes.tech AI
Antwoord van AI
In Go is het lezen uit een map die niet expliciet is geïnitialiseerd (dus nil) veilig, maar met beperkingen.
Als de map nil is, dan:
- Het lezen van een waarde op een sleutel geeft de nulwaarde van het elementtype en
falsebij het controleren op aanwezigheid. - Toewijzing (schrijven) in zo'n
mapzal een panic veroorzaken.
Voorbeeld:
var m map[string]int // m == nil
value, ok := m["key"] // veilig, value == 0, ok == false
// m["key"] = 10 // panic: toewijzing aan entry in nil map
Dus, het is veilig om uit een map te lezen als deze niet is geïnitialiseerd, maar je kunt er niet in schrijven. Voor schrijven moet je eerst de map initialiseren met make.