Что означает амперсанд (&) перед http.Client{}?

Амперсанд (&) перед выражением http.Client{} в Go означает взятие адреса (указателя) на созданный объект структуры http.Client. То есть &http.Client{} создаёт новый экземпляр структуры и возвращает указатель на него.

Короткий ответ

Что ответить на собеседовании

Амперсанд (&) перед выражением http.Client{} в Go означает взятие адреса (указателя) на созданный объект структуры http.Client. То есть &http.Client{} создаёт новый экземпляр структуры и возвращает указатель на него.

Подробный разбор

Ответ с пояснениями

Амперсанд (&) перед выражением http.Client{} в Go означает взятие адреса (указателя) на созданный объект структуры http.Client. То есть &http.Client{} создаёт новый экземпляр структуры и возвращает указатель на него.

Это полезно, когда нужно передать ссылку на объект, чтобы избежать копирования структуры или чтобы иметь возможность изменять объект через указатель.

Пример:

client := &http.Client{}
// client имеет тип *http.Client

Без амперсанда переменная будет содержать саму структуру, а не указатель на неё.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку