ExpertiDict

Go · Essencial · Inglês · Técnico

strings.Builder

/ˈstɹɪŋz ˈbɪl.dɚ/tipo

Tipo do pacote strings para montar texto aos poucos sem copiar a string a cada acréscimo. Usa um buffer interno e entrega o resultado com String().

Onde usar

Em laços que concatenam muitas partes, s += x cria uma string nova a cada volta. O Builder evita esse custo quadrático.

Em código

var sb strings.Builder
for i := range 3 {
  fmt.Fprintf(&sb, "%d,", i)
}
sb.WriteString("fim")
fmt.Println(sb.String()) // 0,1,2,fim

Exemplos

Use a strings.Builder instead of concatenating in the loop.

Use um strings.Builder em vez de concatenar no laço.

The builder avoids allocating a new string on every append.

O builder evita alocar uma string nova a cada acréscimo.

Cuidado

Não copie um Builder depois de usá-lo; o runtime dispara panic. Passe sempre por ponteiro.

Veja também

Todos os termos de Go