18 вопросов с ответами по теме «Слайсы и массивы в Go»
18 вопросов
Что проверяют на интервью
Как устроена подборка
Вопросы о различиях массива и слайса, выделении памяти и работе с общим базовым массивом. Практические примеры посвящены append, изменению слайса внутри функции, удалению элементов и конкурентному доступу.
массив имеет фиксированный размер, поэтому его очищают перезаписью элементов нулевыми значениями слайс — динамическая структура, которая ссылается на массив сбросить длину: slice = slice[:0] — элементы логически…
append — функция для добавления элементов в срез в срезах Go добавляет один или несколько элементов с амортизированной сложностью O(1) при нехватке ёмкости создаёт новый внутренний массив и копирует в него…
Какие операции и функции безопасны для nil-среза в Go? Context: Go, срезы (slice) nil-срез — срез со значением nil и нулевой длиной Методы (функции) для срезов — как правило, это функции пакета sort, append и операции…
Какова разница между слайсами и массивами в Go? в Go используются два типа данных: массив и слайс массив имеет фиксированный размер, который является частью его типа слайс динамичен и представляет собой ссылку на…
Слайс в Go представляет собой структуру из трёх полей: указателя на массив, длины и ёмкости. Он передаётся как значение: копируется структура слайса, а не весь массив. При таком копировании указатель остаётся тем же,…
Что означает zero value у слайса? Go: zero value — значение типа по умолчанию Для слайса таким значением является nil-слайс nil-слайс: указатель = nil, длина = 0, ёмкость = 0 Такой слайс не ссылается на выделенную…