typestar

Construir cadenas en Go

Concatenar en un bucle asigna memoria cada vez; un Builder no.

func build(parts []string) (string, string) {
    var b strings.Builder
    b.Grow(64)
    for i, part := range parts {
        if i > 0 {
            b.WriteString(" > ")
        }
        b.WriteString(part)
    }

    joined := strings.Join(parts, " > ")
    return b.String(), joined
}

Cómo funciona

  1. strings.Builder hace crecer un solo búfer y escribe en él.
  2. Grow reserva de antemano cuando conoces el tamaño.
  3. strings.Join es más simple cuando ya tienes las partes.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
229
Tokens
71
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 45 segundos.

Escribe este fragmento

Paso 3 de 5 en Cadenas y formato; paso 27 de 30 en Fundamentos del lenguaje.

← Anterior Siguiente →