Nil slice — слайс с нулевым значением: var s []T. У него len и cap равны нулю, он сравним с nil и допускает append, range и copy.
Что такое nil slice в Go?
Nil slice — слайс с нулевым значением: var s []T. У него len и cap равны нулю, он сравним с nil и допускает append, range и copy.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Nil slice — слайс с нулевым значением: var s []T. У него len и cap равны нулю, он сравним с nil и допускает append, range и copy.
Пустой выделенный слайс может иметь ту же длину, но не быть nil. Чтение по индексу 0 невозможно в обоих случаях. Различие бывает важно для сериализации и API-контрактов: например, nil и пустая коллекция могут представляться по-разному.