Что такое io.ReadCloser?

Junior
279 просмотров
AFK Offer AI

io.ReadCloser — интерфейс с методами Read и Close. Очень часто встречается: http.Response.Body это io.ReadCloser, os.File это io.ReadCloser. Суть — данные можно прочитать и потом закрыть ресурс. Если функция принимает io.ReadCloser, она обещает закрыть после чтения (или вызывающий должен). Defer resp.Body.Close() — это потому что Body это ReadCloser. Паттерн: открыл → прочитал → закрыл. Без Close будет утечка ресурсов.

Следующий вопрос

Как вызвать C код из Go?