Назад к вопросам
Junior — Middle
77
Из каких компонентов состоит строка в языке Go?
Ответ от нейросети
sobes.tech AI
В языке Go строка (string) представляет собой неизменяемую последовательность байтов, обычно используемую для хранения текста в кодировке UTF-8. Основные компоненты строки в Go:
- Байты — сама последовательность байтов, которая хранит данные.
- Длина — количество байтов в строке.
Внутренне строка реализована как структура с указателем на массив байтов и длиной. При этом строка не содержит явного разделителя или терминатора.
Важно понимать, что строка — это не массив символов (runes), а именно байтовая последовательность. Для работы с символами Unicode используют тип rune и функции из пакета unicode/utf8.
Пример:
s := "Привет"
fmt.Println(len(s)) // Выведет количество байтов, а не символов
runes := []rune(s)
fmt.Println(len(runes)) // Количество символов (рунов)