Junior — Middle
Ինչպե՞ս հասանելիություն ունենալ բառարանի արժեքներին, որը դեռ նախապես ստեղծված չէ։
sobes.tech AI
Պատասխան AI-ից
Go լեզվում, եթե քարտեզը (map) դեռ չի ստեղծվել (այդպես՝ nil), ապա բանալիով մուտք գործելը չի առաջացնի panic, այլ պարզապես կվերադարձնի տարրի զրոյական արժեքը:
Օրինակ՝
var m map[string]int // m == nil
fmt.Println(m["key"]) // Տպում է 0, չի առաջացնում սխալ
Սակայն, nil քարտեզին արժեք նշանակելու փորձը կհանգեցնի panic-ի:
m["key"] = 10 // panic: նշանակում nil քարտեզի մեջ
Հետևաբար, նախքան գրելը, պետք է համոզվել, որ այն ինիցիալիզացված է, օրինակ՝
m = make(map[string]int)
m["key"] = 10
Այսպիսով, ընթերցման ժամանակ կարելի է մուտք գործել nil քարտեզ, առանց սխալի, բայց գրելու համար անհրաժեշտ է նախապես ստեղծել քարտեզը։