Sobes.tech
Назад к вопросам
Junior — Middle
80

Что содержит неинициализированный слайс в языке программирования?

Компании, где спрашивали
ГазпромГазпром

Ответ от нейросети

sobes.tech AI

В Go слайс — это структура, которая содержит три поля: указатель на массив, длину (len) и ёмкость (capacity). Если слайс не инициализирован, то есть объявлен, но не присвоен, он имеет нулевое значение nil.

Неинициализированный слайс:

  • Указатель равен nil.
  • Длина и ёмкость равны 0.

Пример:

var s []int
fmt.Println(s == nil) // true
fmt.Println(len(s))    // 0
fmt.Println(cap(s))    // 0

Такой слайс не указывает на какой-либо массив и не содержит элементов. Его можно безопасно использовать в операциях, например, добавлять элементы через append, после чего слайс будет инициализирован автоматически.