append добавляет элементы к слайсу и возвращает новый заголовок слайса. Если capacity хватает, используется прежний массив; иначе выделяется другой массив и элементы копируются.
Что делает функция append в Go?
append добавляет элементы к слайсу и возвращает новый заголовок слайса. Если capacity хватает, используется прежний массив; иначе выделяется другой массив и элементы копируются.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
append добавляет элементы к слайсу и возвращает новый заголовок слайса. Если capacity хватает, используется прежний массив; иначе выделяется другой массив и элементы копируются.
Результат нужно сохранить: s = append(s, x). Изменение длины не распространяется автоматически на другие копии заголовка. Однако запись в общий backing array может быть видна другим слайсам. Можно добавлять другой слайс через append(s, values...). Не полагайтесь на точный коэффициент роста capacity — он не является контрактом языка.