Назад к вопросам
Junior — Middle
78
Что происходит, если создать слайс с нулевым значением и какие операции с ним допустимы?
Компании, где спрашивали
Digital Spirit
Ответ от нейросети
sobes.tech AI
В Go слайс с нулевым значением — это nil слайс. Он не указывает ни на какой массив и имеет длину и ёмкость равные нулю.
Допустимые операции с таким слайсом:
- Получение длины и ёмкости (
len(slice) == 0,cap(slice) == 0) - Итерация по слайсу (цикл просто не выполнится)
- Добавление элементов через
append, что создаст новый слайс с выделенной памятью
Пример:
var s []int // nil слайс
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
s = append(s, 1) // теперь s не nil, содержит один элемент
Нельзя обращаться к элементам по индексу, так как слайс пуст и это вызовет панику.