Исправьте реализацию cleanup, используя обычный цикл for вместо range. Объясните финальную логику очистки.

Если у вас есть функция cleanup, которая использует цикл range для обхода элементов, и нужно переписать её с использованием обычного цикла for, то это может выглядеть так:

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

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

Если у вас есть функция cleanup, которая использует цикл range для обхода элементов, и нужно переписать её с использованием обычного цикла for, то это может выглядеть так:

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

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

Если у вас есть функция cleanup, которая использует цикл range для обхода элементов, и нужно переписать её с использованием обычного цикла for, то это может выглядеть так:

func cleanup(items []Item) {
    for i := 0; i < len(items); i++ {
        // Выполняем очистку для items[i]
        items[i].Clear()
    }
}

Здесь мы явно итерируемся по индексам с 0 до длины среза items. Это полезно, если вам нужно контролировать индекс или изменять элементы по индексу.

Финальная логика очистки обычно заключается в последовательном обходе всех элементов коллекции и выполнении для каждого необходимой операции освобождения ресурсов, сброса состояния или удаления данных. Такой подход гарантирует, что все элементы будут обработаны, и не останется «мусора» или зависших ресурсов.

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

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

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

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