Ответ
В Go для эффективного добавления в строку в цикле лучше использовать strings.Builder, так как он минимизирует аллокации памяти. Обычная конкатенация строк через + создает новую строку на каждой итерации, что неэффективно.
Пример:
var builder strings.Builder
for i := 0; i < 10; i++ {
builder.WriteString("item ")
builder.WriteString(strconv.Itoa(i))
builder.WriteString(", ")
}
result := builder.String()
Ключевые моменты:
strings.Builderвыделяет память буфера заранее- Методы
WriteStringработают без лишних аллокаций - В конце вызываем
String()для получения результата
Для простых случаев можно использовать +=, но только если циклов немного.