Представьте: есть слайс на 10 MB, а нужны только первые 5 байт. Вы пишете
bigSlice = bigSlice[:5] и идёте дальше. Освободит ли сборщик мусора оставшуюся память после этой операции?Подсказка срез — это всего лишь тройка из указателя на массив, длины и ёмкости. Операция
[:5] трогает только заголовок, но underlying array остаётся прежним. А теперь подумайте, куда всё ещё указывает capacity нового слайса и что из-за этого видит GC.➡️ Правильный ответ
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека Go-разработчика
#ReadySetGo