Что происходит при конкатенации строк

«Что происходит при конкатенации строк» — вопрос из категории Golang, который задают на 24% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go строки неизменяемы. При конкатенации с помощью + или fmt.Sprintf создается новая строка, что может быть неэффективно при частых операциях. Для оптимизации используйте strings.Builder:

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

При конкатенации в цикле особенно важно избегать +, так как это создает множество временных строк. strings.Builder выделяет память заранее и минимизирует копирования.