Back to questions
Junior — Middle
100
Какую информацию возвращает функция len при обработке строки?
Answer from AI
sobes.tech AI
В языке Go функция len при применении к строке возвращает количество байт в этой строке, а не количество символов (рун).
Это связано с тем, что строки в Go хранятся в формате UTF-8, где один символ может занимать от 1 до 4 байт. Поэтому len возвращает длину в байтах.
Пример:
package main
import (
"fmt"
)
func main() {
s := "Привет" // русское слово
fmt.Println(len(s)) // Выведет количество байт, например 12
}
Если нужно получить количество символов (рун), то следует использовать преобразование в срез рун:
runes := []rune(s)
fmt.Println(len(runes)) // Выведет количество символов, например 6
Таким образом, len для строки — это длина в байтах, а не в символах.