Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Golang: performance, rune, string, mutation

Почему использование []rune эффективнее конкатенации строк?

Вопрос объясняет преимущества работы с рунами перед строками.

Короткий ответ

[]rune позволяет изменять данные без переаллокаций, в отличие от неизменяемых строк.

Длинный ответ

Сравнение:

  • Строки:

    • Неизменяемы → каждая модификация создает новую строку.

  • []rune:

    • Изменяемый слайс → можно добавлять/удалять символы без копирования.

Пример:

// Неэффективно:
str := "hello"
str += " world" // Новая аллокация

// Эффективно:
runes := []rune("hello")
runes = append(runes, []rune(" world")...)
result := string(runes) // Одна аллокация

Когда использовать:

  • При частых модификациях текста (например, парсинг).

  • Для работы с Unicode-символами.

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    1

  • Сложность:

    8

Навыки

  • Golang

    Golang

Ключевые слова

#performance

#rune

#string

#mutation

Подпишись на Golang Developer в телеграм

  • Аватар

    Golang Guru

    Maxim Lukyanov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.