Какой результат выведет программа №20

Программа выведет 0123456789: цикл по очереди добавляет десятичные записи чисел от 0 до 9 без разделителей.

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

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

Программа выведет 0123456789: цикл по очереди добавляет десятичные записи чисел от 0 до 9 без разделителей.

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

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

Условие

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

func main() {
    var resultStr string
    for i := 0; i < 10; i++ {
        resultStr += fmt.Sprintf("%d", i)
    }
    fmt.Println(resultStr)
}

Ответ

Программа выведет 0123456789: цикл по очереди добавляет десятичные записи чисел от 0 до 9 без разделителей.

Нулевое значение resultStr — пустая строка. На каждой итерации fmt.Sprintf возвращает строковое представление текущего i, затем конкатенация добавляет его в конец.

Для десяти значений такой код достаточно понятен. При большом объёме многократная конкатенация может создавать лишние копии; тогда используют strings.Builder и при необходимости заранее резервируют размер. Но это оптимизация, не исправление результата: в приведённом примере нет ни пробелов, ни запятых между числами.

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

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

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

Подробнее