Какой результат появится в консоли при запуске №80

Функция convert сама ничего не печатает: она создаёт слайс Bar, преобразуя каждый Foo по порядку. Конкретные значения и возможные побочные эффекты зависят от отсутствующей fooToBar.

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

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

Функция convert сама ничего не печатает: она создаёт слайс Bar, преобразуя каждый Foo по порядку. Конкретные значения и возможные побочные эффекты зависят от отсутствующей fooToBar.

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

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

Условие

Определите, какой вывод будет получен после выполнения следующего кода на Go:

func convert(foos []Foo) []Bar {
    bars := make([]Bar, 0)
    for _, foo := range foos{
        bars = append(bars, fooToBar(foo))
    }
    return bars
}

Ответ

Функция convert сама ничего не печатает: она создаёт слайс Bar, преобразуя каждый Foo по порядку. Конкретные значения и возможные побочные эффекты зависят от отсутствующей fooToBar.

При корректных определениях типов длина результата равна len(foos), порядок сохраняется. Чтобы уменьшить перераспределения памяти, используйте bars := make([]Bar, 0, len(foos)) перед append либо make([]Bar, len(foos)) с присваиванием по индексу. По этому фрагменту нельзя предсказать текст консоли или поведение самой функции преобразования.

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

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

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

Подробнее