Junior
Ako sa parametre odovzdávajú funkcii v Go: cez ukazovateľ alebo hodnotou?
sobes.tech AI
Odpoveď od AI
Podľa hodnoty. To znamená, že pri volaní funkcie sa vytvorí kópia hodnoty odovzdaného argumentu.
Výnimky sú:
- Slicing (slices)
- Mapy (maps)
- Kanály (channels)
- Ukazovatele
V týchto prípadoch sa odovzdá kópia hlavičky (header) dátovej štruktúry (slices, maps, kanály) alebo samotný ukazovateľ (pre ukazovatele). Zmeny v týchto dátach cez túto hlavičku alebo ukazovateľ vo vnútri funkcie budú viditeľné zvonku.