Senior
¿Cuáles son las formas de concatenar cadenas en Go? ¿En qué se diferencian + y strings.Builder?
sobes.tech AI
Respuesta de la IA
En Go, hay varias formas de concatenar cadenas:
- Operador
+— simple y conveniente para una pequeña cantidad de cadenas. strings.Builder— método eficiente para concatenaciones múltiples, especialmente en bucles.bytes.Buffer— similar astrings.Builder, pero trabaja con bytes.fmt.Sprintf— formateo de cadenas, pero menos eficiente para concatenaciones simples.
Diferencia entre + y strings.Builder:
+crea una nueva cadena en cada unión, lo que lleva a asignaciones de memoria y copias de datos. Para pocas operaciones, esto no es crítico.strings.Builderusa un búfer interno que se expande según sea necesario, minimizando asignaciones de memoria y copias. Esto es mucho más eficiente en muchas operaciones de concatenación.
Ejemplo:
var sb strings.Builder
for _, s := range parts {
sb.WriteString(s)
}
result := sb.String()
Utiliza + para casos simples y strings.Builder para concatenaciones complejas o grandes.