Выбор ответа Junior Строки, байты и руны спрашивают часто обновлено

len строки с кириллицей

Вопрос

Что выведет fmt.Println(len("мир"))?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 6. len у строки возвращает число байтов, а не символов.

Варианты ответа

  1. 6правильный ответ
  2. 3
  3. 12
  4. 4

Разбор

len у строки возвращает число байтов, а не символов. В UTF-8 каждая буква кириллицы занимает 2 байта: 3 × 2 = 6. Символов 3, их считает utf8.RuneCountInString. 12 получилось бы при 4 байтах на символ, как у некоторых эмодзи.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.