len() — это длина чего?

В Go для определения длины строки по количеству символов (рунов), а не байт, используется пакет unicode/utf8.

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

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

В Go для определения длины строки по количеству символов (рунов), а не байт, используется пакет unicode/utf8.

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

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

В Go для определения длины строки по количеству символов (рунов), а не байт, используется пакет unicode/utf8.

Функция utf8.RuneCountInString возвращает количество рун (символов) в строке, учитывая многобайтовые символы UTF-8.

Пример:

package main

import (
    "fmt"
    "unicode/utf8"
)

func main() {
    s := "Привет"
    fmt.Println("Длина строки в байтах:", len(s))
    fmt.Println("Количество символов:", utf8.RuneCountInString(s))
}

Вывод покажет, что длина в байтах больше, чем количество символов, из-за кодировки UTF-8.

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

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

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

Подробнее