Строка в Go — это неизменяемая последовательность байтов.
Ключевые особенности:
for index, value range string при итерации по строке возвращает индекс и руну (int32), а не байт.string[start:end] создает новую строку, указывающую на тот же участок памяти, но с другими границами.Примеры:
go
Сравнение со срезом байтов ([]byte):
| Характеристика | String | []byte |
|---|---|---|
| Изменяемость | Нет | Да |
| Представление | Указатель + Длина | Указатель + Длина + Емкость |
| Тип | Встроенный примитивный | Срез (slice) |
| Использование | Неизменяемый текст | Изменяемые данные (байты) |
Преобразование между string и []byte:
go