Какой вывод появится в консоли в примере №69

Фрагмент не компилируется: строки неизменяемы, а "z" нельзя присвоить байтовому элементу. var s string создаёт пустую строку.

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

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

Фрагмент не компилируется: строки неизменяемы, а "z" нельзя присвоить байтовому элементу. var s string создаёт пустую строку.

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

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

Условие

Каким будет результат выполнения следующего фрагмента кода

var s string
s[3] = "z"

Ответ

Фрагмент не компилируется: строки неизменяемы, а "z" нельзя присвоить байтовому элементу. var s string создаёт пустую строку.

Нельзя получить вывод или runtime panic от исходника, пока не исправлены ошибки компиляции. Даже у изменяемого пустого []byte обращение к индексу 3 вышло бы за границы.

Если требуется строка из четырёх байтов с z на четвёртом месте, нужно сначала задать остальные символы, например s = "abcz". Для замены в существующем тексте создают []byte или []rune и проверяют длину. Простая замена двойных кавычек на одинарные не делает string изменяемой.

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

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

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

Подробнее