Что такое nil?

Junior
988 просмотров
AFK Offer AI

nil — это нулевое значение для указателей, интерфейсов, слайсов, map, каналов и функций. Слайс nil — валиден, len и cap вернут 0, append работает. Map nil — можно читать (вернёт zero value), но запись в nil map — паника. Интерфейс nil — это когда и тип, и значение nil; если тип задан, а значение nil — интерфейс не nil, это частый gotcha. Канал nil — send и receive блокируются навсегда, полезно в select для "отключения" ветки.

Следующий вопрос

Как работает планировщик Go?