Проверяет практический опыт работы с HTTP-клиентом и сетевыми ресурсами.
Соединение останется занятым и не вернётся в пул.
Это может привести к утечкам памяти, росту количества открытых файлов и зависанию клиента.
HTTP-клиент Go переиспользует TCP-соединения внутри пула Keep-Alive.
Если не вызвать:
defer resp.Body.Close()то:
Соединение не освобождается,
Клиент не может использовать его для следующих запросов,
Пул переполняется,
Появляется ошибка:
http: server gave HTTP response to HTTPS client
or
too many open filesПравильный вариант:
resp, err := http.Get(url)
if err != nil { ... }
defer resp.Body.Close()Вывод:
Закрытие тела ответа — обязательное правило при работе с HTTP.