Sobes.tech
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 false bij het controleren op aanwezigheid.
  • Toewijzing (schrijven) in zo'n map zal 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.