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

Какие операции допустимы при работе с nil слайсом в языке программирования?

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

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

sobes.tech AI

В Go nil-слайс — это слайс, который не указывает ни на какой массив и имеет длину и ёмкость равные нулю. С ним допустимы следующие операции:

  • Можно читать длину и ёмкость: len(nilSlice) == 0, cap(nilSlice) == 0.
  • Можно выполнять операции добавления элементов через append, что создаст новый слайс с выделенной памятью.
  • Можно проходить по nil-слайсу в цикле for range — цикл просто не выполнится.

Нельзя:

  • Обращаться к элементам по индексу, например nilSlice[0] вызовет panic.

Пример:

var s []int // nil-слайс
fmt.Println(len(s)) // 0
s = append(s, 1)    // теперь s не nil
fmt.Println(s)      // [1]