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 строки — обычный + нормально.