Выбор ответа Junior Слайсы и мапы изнутри спрашивают часто обновлено
Из чего состоит слайс в Go
Вопрос
Что хранится в значении типа []int?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Указатель на базовый массив, длина и ёмкость. Слайс это заголовок из трёх полей: указатель на элемент базового массива, len и cap.
Варианты ответа
- Сам массив элементов целиком
- Указатель на массив и длина, ёмкость вычисляется каждый раз
- Указатель на базовый массив, длина и ёмкостьправильный ответ
- Указатель на связный список блоков
Разбор
Слайс это заголовок из трёх полей: указатель на элемент базового массива, len и cap. При присваивании и передаче в функцию копируется только заголовок, элементы общие. Массив целиком копируется только у типа-массива [N]T. Связных списков внутри нет, элементы лежат подряд.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Слайсы и мапы изнутри»
- Разбить слайс на части по k на Go
- Удаление дубликатов с сохранением порядка на Go
- Группировка анаграмм на Go
- Циклический сдвиг слайса на Go
- Число подмассивов с суммой k на Go
- Топ-k частых слов на Go
- Что выведет Go: append при полной ёмкости
- Что выведет Go: два append в один подслайс