Карточка Junior Слайсы и мапы изнутри обновлено
Сколько копирует copy
Вопрос
Сколько элементов скопирует copy(dst, src)?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
min(len(dst), len(src)). Возвращает это число.
Ответ
min(len(dst), len(src)). Возвращает это число. Ёмкость роли не играет: чтобы скопировать всё, создайте dst := make([]T, len(src)).
Разбор
Частая ошибка: dst := make([]int, 0, len(src)); copy(dst, src) копирует 0 элементов, потому что len(dst) == 0. Короче: slices.Clone(src).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Слайсы и мапы изнутри»
- Разбить слайс на части по k на Go
- Удаление дубликатов с сохранением порядка на Go
- Группировка анаграмм на Go
- Циклический сдвиг слайса на Go
- Число подмассивов с суммой k на Go
- Топ-k частых слов на Go
- Что выведет Go: append при полной ёмкости
- Что выведет Go: два append в один подслайс