Как эффективно соединять строки в Go?

Junior
2.9k просмотров
AFK Offer AI

strings.Builder — самый эффективный способ для конкатенации в цикле. Обычный + создаёт новую строку каждый раз — O(n²) на большом объёме.

var b strings.Builder
for i := 0; i < 1000; i++ {
    b.WriteString("hello")
}
result := b.String()

strings.Join — для среза строк с разделителем. fmt.Sprintf — удобно для форматирования, но медленнее.

Главное правило: если конкатенация в цикле — только Builder. Если один раз склеить 2-3 строки — обычный + нормально.

Следующий вопрос

Как работают слайсы в Go?