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]
}
По този начин състоянието на хеш таблицата се променя директно при предаването й към функция.