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]
}
Ин тариқ, ҳолати ҷадвали хеш мустақиман вақте ки ба функсия дода мешавад, тағир дода мешавад.