Junior — Middle
Môžete vysvetliť, čo sa rozumie pod adresovaním v dátovej štruktúre map?
sobes.tech AI
Odpoveď od AI
V dátovej štruktúre map v jazyku Go znamená adresovanie spôsob, akým sú prvky (kľúče a hodnoty) uložené a nachádzajú sa v pamäti.
Map v Go je implementovaný ako hash tabuľka. Pri pridávaní kľúča sa vypočíta hash funkcia, ktorá určuje index vedra (bucket) v poli. Každé vedro obsahuje viacero párov kľúč-hodnota.
Adresovanie tu je proces výpočtu hashu kľúča a prechodu na príslušné vedro, kde dochádza k vyhľadávaniu alebo vkladaniu hodnoty. To zabezpečuje rýchly prístup k prvkom podľa kľúča.
Príklad:
m := make(map[string]int)
m["apple"] = 5
value := m["apple"] // Rýchly prístup cez hashovanie kľúča