Что можно делать с nil slice, а чего нельзя?

В Go nil slice — это срез, который не указывает ни на какой массив и имеет длину и емкость 0.

Короткий ответ

Что ответить на собеседовании

В Go nil slice — это срез, который не указывает ни на какой массив и имеет длину и емкость 0. Несмотря на это, в nil slice можно добавить элемент с помощью функции append. При добавлении элемента Go автоматически выделит новый массив и вернет новый срез, содержащий добавленный элемент.

Подробный разбор

Ответ с пояснениями

В Go nil slice — это срез, который не указывает ни на какой массив и имеет длину и емкость 0. Несмотря на это, в nil slice можно добавить элемент с помощью функции append. При добавлении элемента Go автоматически выделит новый массив и вернет новый срез, содержащий добавленный элемент.

Пример:

var s []int // nil slice
s = append(s, 10)
fmt.Println(s) // Output: [10]

Таким образом, nil slice можно рассматривать как пустой срез, и append с ним работает корректно.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее