Будет ли паника, если сделать append к nil слайсу?

Нет, append к nil-слайсу корректен: при добавлении элементов он выделит базовый массив и вернёт новый слайс. Результат нужно присвоить.

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

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

Нет, append к nil-слайсу корректен: при добавлении элементов он выделит базовый массив и вернёт новый слайс. Результат нужно присвоить.

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

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

Нет, append к nil-слайсу корректен: при добавлении элементов он выделит базовый массив и вернёт новый слайс. Результат нужно присвоить.

Например, var values []int; values = append(values, 1) создаёт слайс с одним элементом. Нулевые len и cap до этого не являются ошибкой. Это отличается от nil-map, куда нельзя записывать без инициализации. При добавлении нуля элементов append не обязан выделять память.

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

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

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

Подробнее