Выбор ответа Junior Дженерики обновлено
Нулевое значение параметра типа
Вопрос
Как вернуть нулевое значение типа T из обобщённой функции?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: var zero T; return zero. Нулевое значение получают объявлением переменной: для любых T это работает. nil подходит не для всех типов (у int нет nil).
Варианты ответа
var zero T; return zeroправильный ответreturn nil, nil есть у любого Treturn T{}для любого типа Treturn 0, он приводится к T
Разбор
Нулевое значение получают объявлением переменной: для любых T это работает. nil подходит не для всех типов (у int нет nil). T{} работает только для составных типов, а T может быть int. 0 годится только для чисел. Для краткости в Go 1.18+ можно написать return *new(T), но var zero T читается лучше.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.