🟡 Средний · 2 очк. Массивы и слайсы
Что сделает clear(s) для слайса s := []int{1, 2, 3} (Go 1.21+)?
A Удалит все элементы (len станет 0)
B Обнулит элементы, но len останется 3
C panic
D Ошибка компиляции
Объяснение вопроса

Встроенная функция clear(s) обнуляет все элементы слайса до zero value типа элемента. Длина и ёмкость слайса не меняются.

s := []int{1, 2, 3}
clear(s)
// s = [0, 0, 0], len(s)==3, cap(s)==3

Для map

Для map clear(m) удаляет все ключи. После вызова len(m)==0, но сама map остаётся инициализированной.

Зачем нужна

Явно обнулить слайс без создания нового и без цикла. Важно для безопасности: если слайс содержал указатели или чувствительные данные, обнуление уменьшает шанс утечки через повторное использование памяти.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.