Junior — Middle
Ինչպե՞ս է փոխվում հեշ-թաբլետի վիճակը, երբ այն փոխանցվում է որպես պարամետր ֆունկցիային։
sobes.tech AI
Պատասխան AI-ից
Go լեզվում հեշ աղյուսակները իրականացվում են map տիպի միջոցով, որը փոխանցվում է ֆունկցիաներին հղումով։ Սա նշանակում է, որ երբ փոխանցում եք map-ը ֆունկցիային, ոչ թե պատճենվում է աղյուսակը, այլ՝ հղում դեպի դրա ներքին տվյալների կառուցվածքը։
Նման կերպ, ցանկացած փոփոխություն, որը կատարվում է map-ի վրա ֆունկցիայի ներսում (ավելացում, հեռացում կամ փոփոխություն), կլինի տեսանելի նաև դուրս, քանի որ նույն օբյեկտն է փոխվում։
Օրինակ՝
func addEntry(m map[string]int, key string, value int) {
m[key] = value
}
func main() {
myMap := make(map[string]int)
addEntry(myMap, "key1", 100)
fmt.Println(myMap) // Կցուցադրվի՝ map[key1:100]
}
Այսպիսով, հեշ աղյուսակի վիճակը ուղղակիորեն փոխվում է նրա փոխանցման ժամանակ։