Ответ
В 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 операции) разница незначительна, но для циклов или множественных объединений это оптимальный выбор.