Sobes.tech
Назад к вопросам
Junior — Middle
75

Какое значение будет возвращено функцией len при вызове для строки?

Компании, где спрашивали
WildberriesWildberries

Ответ от нейросети

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 для строки — это длина в байтах.