Назад к вопросам
Middle+
4
В чём отличие массива от Slice в Go?
Компании, где спрашивали
ТБанк
Ответ от нейросети
sobes.tech AI
В Go массив — это структура фиксированного размера, определённого при объявлении, и размер массива не может изменяться во время выполнения. Слайс же — это динамический, изменяемый по размеру тип, который представляет собой ссылку на часть массива.
Основные отличия:
- Массивы имеют фиксированный размер, слайсы — динамические.
- Слайс содержит указатель на массив, длину и ёмкость.
- Слайсы удобнее для работы с изменяемыми коллекциями.
Пример:
var arr [3]int = [3]int{1, 2, 3} // массив фиксированного размера
slice := arr[0:2] // слайс, ссылающийся на часть массива
slice = append(slice, 4) // слайс может расширяться, при необходимости создаётся новый массив
Таким образом, слайсы — более гибкий и часто используемый тип для работы с последовательностями в Go.