Как написать эффективный append строк

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

Ответ

В Go строки иммутабельны, поэтому эффективное объединение строк требует использования strings.Builder или bytes.Buffer вместо + или +=:

var builder strings.Builder
builder.WriteString("Hello")
builder.WriteString(" ")
builder.WriteString("World")
result := builder.String() // "Hello World"

Почему так лучше:

  • strings.Builder минимизирует аллокации памяти
  • Работает быстрее конкатенации при множественных операциях
  • Под капотом использует []byte с автоматическим расширением

Для небольших строк (2-3 операции) разница незначительна, но для циклов или множественных объединений это оптимальный выбор.