Sobes.tech
Middle+

Čo znamená ampersand (&) pred http.Client{}?

sobes.tech AI

Odpoveď od AI

V Go znamená použitie ampersandu (&) pred výrazom http.Client{} na získanie adresy (ukazovateľa) na vytvorený objekt štruktúry http.Client. To znamená, že &http.Client{} vytvorí nový inštanciu štruktúry a vráti na ňu ukazovateľ.

Je to užitočné, keď je potrebné odovzdať odkaz na objekt, aby sa zabránilo kopírovaniu štruktúry alebo aby bolo možné meniť objekt cez ukazovateľ.

Príklad:

client := &http.Client{}
// client má typ *http.Client

Bez ampersandu bude premenná obsahovať samotnú štruktúru, nie ukazovateľ na ňu.