Можно ли считать пустую коллекцию равной значению Nil в программировании?

В Go пустая коллекция (например, пустой срез или карта) не равна nil. nil означает отсутствие значения или инициализации, тогда как пустая коллекция — это инициализированный объект с нулевым количеством элементов.

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

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

В Go пустая коллекция (например, пустой срез или карта) не равна nil. nil означает отсутствие значения или инициализации, тогда как пустая коллекция — это инициализированный объект с нулевым количеством элементов.

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

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

В Go пустая коллекция (например, пустой срез или карта) не равна nil. nil означает отсутствие значения или инициализации, тогда как пустая коллекция — это инициализированный объект с нулевым количеством элементов.

Пример:

var s []int       // s == nil
s = []int{}        // s != nil, но len(s) == 0

fmt.Println(s == nil)       // true для первого случая
fmt.Println(len(s) == 0)    // true для обоих случаев

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

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

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

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

Подробнее