Назад к вопросам
Junior — Middle
92
Объясните концепцию типа строк в языке Go и его основные особенности.
Компании, где спрашивали
Miatel
Ответ от нейросети
sobes.tech AI
В языке Go тип строк (string) представляет собой неизменяемую последовательность байтов, обычно используемых для хранения текста в кодировке UTF-8.
Основные особенности строк в Go:
- Неизменяемость: После создания строка не может быть изменена. Любые операции, изменяющие строку, создают новую.
- UTF-8 кодировка: Строки хранятся в UTF-8, что позволяет работать с многоязычным текстом.
- Доступ по байтам: Индексация строки возвращает байт, а не символ (руну). Для работы с символами используют тип
rune. - Поддержка срезов: Можно получать подстроки с помощью срезов, например
s[0:5].
Пример работы со строками и рунами:
s := "Привет"
fmt.Println(len(s)) // количество байт
for i, r := range s {
fmt.Printf("%d: %c\n", i, r) // вывод индекса байта и символа
}
Таким образом, строки в Go — это удобный и эффективный способ работы с текстом, но требуют понимания разницы между байтами и символами.