Junior — Middle
Kako se pristupa vrednostima u rečniku koji još nije prethodno kreiran?
sobes.tech АИ
Одговор од АИ
U jeziku Go, ako mapa (map) još nije kreirana (tj. je nil), pokušaj pristupa elementima putem ključa neće izazvati paniku, već će jednostavno vratiti nultu vrednost tipa elemenata.
Na primer:
var m map[string]int // m == nil
fmt.Println(m["key"]) // Ispisaće 0, neće izazvati grešku
Međutim, pokušaj dodeljivanja vrednosti nil mapi će izazvati paniku:
m["key"] = 10 // panic: dodela u element u nil mapi
Zato pre pisanja u mapu treba biti siguran da je inicijalizovana, na primer:
m = make(map[string]int)
m["key"] = 10
Na ovaj način, za čitanje se može pristupiti nil mapi bez greške, ali za pisanje je potrebno prethodno kreirati mapu.