Sobes.tech
Back to questions
Junior — Middle
79

Из каких компонентов состоит строка в языке Go?

Answer from AI

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)) // Количество символов (рунов)