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

Какую информацию возвращает функция len при обработке строки?

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

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