Выбор ответа Junior Строки, байты и руны спрашивают часто обновлено
len строки с кириллицей
Вопрос
Что выведет fmt.Println(len("мир"))?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 6. len у строки возвращает число байтов, а не символов.
Варианты ответа
6правильный ответ3124
Разбор
len у строки возвращает число байтов, а не символов. В UTF-8 каждая буква кириллицы занимает 2 байта: 3 × 2 = 6. Символов 3, их считает utf8.RuneCountInString. 12 получилось бы при 4 байтах на символ, как у некоторых эмодзи.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Ещё по теме «Строки, байты и руны»
- Байты и символы в строке Go
- Разворот строки с кириллицей на Go
- Сжатие RLE для строк UTF-8 на Go
- Палиндром с кириллицей и знаками на Go
- Перенос текста по ширине в символах на Go
- Что выведет Go: len и range по строке с кириллицей
- Что выведет Go: руны, байты и преобразования
- Что выведет Go: сравнение и срезы строк