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

В языке Go функция len при применении к строке возвращает количество байт в этой строке, а не количество символов (рун).

Короткий ответ

Что ответить на собеседовании

В языке Go функция len при применении к строке возвращает количество байт в этой строке, а не количество символов (рун).

Подробный разбор

Ответ с пояснениями

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее