Назад к вопросам
Wildberries
Junior — Middle
75
Какое значение будет возвращено функцией len при вызове для строки?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Go функция len при вызове для строки возвращает количество байт в этой строке, а не количество символов (рун).
Это связано с тем, что строки в Go — это последовательности байт в кодировке UTF-8. Если строка содержит только ASCII символы, то количество байт совпадает с количеством символов. Но если есть многобайтовые символы (например, кириллица, иероглифы), то len вернёт общее число байт, а не символов.
Пример:
s := "Привет"
fmt.Println(len(s)) // Выведет количество байт, например 12
runes := []rune(s)
fmt.Println(len(runes)) // Выведет количество рун (символов), например 6
Таким образом, len для строки — это длина в байтах.