Вопрос объясняет преимущества работы с рунами перед строками.
[]rune позволяет изменять данные без переаллокаций, в отличие от неизменяемых строк.
Сравнение:
Строки:
Неизменяемы → каждая модификация создает новую строку.
[]rune:
Изменяемый слайс → можно добавлять/удалять символы без копирования.
Пример:
// Неэффективно:
str := "hello"
str += " world" // Новая аллокация
// Эффективно:
runes := []rune("hello")
runes = append(runes, []rune(" world")...)
result := string(runes) // Одна аллокацияКогда использовать:
При частых модификациях текста (например, парсинг).
Для работы с Unicode-символами.