Junior — Middle
Hogyan lehet hozzáférni egy szótár értékeihez, amelyet még nem hoztak létre előre?
sobes.tech MI
Válasz az MI-től
Go nyelven, ha egy térkép (map) még nem lett létrehozva (azaz nil), akkor a kulcs szerinti hozzáférés nem fog pánikot okozni, hanem egyszerűen visszaadja a kulcs típusának nullértékét.
Például:
var m map[string]int // m == nil
fmt.Println(m["key"]) // 0-t fog kiírni, nem okoz hibát
Azonban, ha értéket próbálunk rendelni egy nil maphez, az pánikot fog okozni:
m["key"] = 10 // pánik: érték rendelése nil maphez
Ezért, mielőtt írni próbálnánk a mapbe, győződjünk meg arról, hogy inicializálva van, például:
m = make(map[string]int)
m["key"] = 10
Így olvasáskor hozzáférhetünk egy nil maphez hibák nélkül, de íráskor előzetesen létre kell hozni a mapet.