Выбор ответа Junior Типы и нулевые значения спрашивают часто обновлено

Нулевые значения типов Go

Вопрос

Какое утверждение о нулевых значениях в Go верно?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: У указателя, слайса, мапы, канала, функции и интерфейса nil. Go всегда зануляет память: у чисел 0, у bool false, у строки пустая строка "" (строка не может быть nil), у структуры все поля нулевые (сама структура не nil, это значение). nil бывает только у ссылочных видов: указатели, слайсы, мапы,…

Варианты ответа

  1. Нулевое значение строки это nil, как у указателя
  2. У указателя, слайса, мапы, канала, функции и интерфейса nilправильный ответ
  3. Неинициализированная локальная переменная содержит мусор из памяти стека
  4. Нулевое значение структуры это nil, пока её не создали

Разбор

Go всегда зануляет память: у чисел 0, у bool false, у строки пустая строка "" (строка не может быть nil), у структуры все поля нулевые (сама структура не nil, это значение). nil бывает только у ссылочных видов: указатели, слайсы, мапы, каналы, функции и интерфейсы. Мусора в Go нет даже в локальных переменных.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме