Что такое строка

«Что такое строка» — вопрос из категории Golang, который задают на 44% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Строка в Go — это неизменяемая последовательность байт, обычно представляющая текст в кодировке UTF-8. Реализована как срез байт ([]byte) с дополнительными гарантиями иммутабельности.

Особенности:

  • Длина строки — количество байт (не символов!), используй utf8.RuneCountInString() для подсчета символов.
  • Доступ по индексу возвращает байт, не символ.
  • Конкатенация через + или strings.Builder.

Пример:

s := "Привет"
fmt.Println(len(s))         // 12 байт (кириллица занимает 2 байта на символ)
fmt.Println(s[0])           // 208 (первый байт)
for _, r := range s {       // Итерация по рунам (символам)
    fmt.Printf("%c ", r)    // П р и в е т
}