Sobes.tech
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.