Sobes.tech
Middle+

Co znamená ampersand (&) před http.Client{}?

sobes.tech AI

Odpověď od AI

V Go znamená použití ampersandu (&) před výrazem http.Client{} získání adresy (ukazatele) na vytvořenou strukturu http.Client. To znamená, že &http.Client{} vytvoří novou instanci struktury a vrátí na ni ukazatel.

To je užitečné, když je potřeba předat odkaz na objekt, aby se zabránilo kopírování struktury nebo aby bylo možné měnit objekt přes ukazatel.

Příklad:

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

Bez ampersandu bude proměnná obsahovat samotnou strukturu, nikoli ukazatel na ni.