Junior — Middle
¿Puede explicar cómo se implementa la estructura de una cadena en programación y de qué está compuesta?
sobes.tech AI
Respuesta de la IA
En Go, una cadena (string) es una secuencia inmutable de bytes, generalmente representando texto en codificación UTF-8. Internamente, una cadena se implementa como una estructura con dos campos: un puntero a un array de bytes y una longitud.
Ejemplo de una estructura de cadena simplificada en Go:
// stringHeader — estructura interna de la cadena
import "reflect"
var s string = "hello"
header := (*reflect.StringHeader)(unsafe.Pointer(&s))
// header.Data — puntero a los bytes
// header.Len — longitud de la cadena
Las cadenas en Go son inmutables, por lo que cualquier operación que modifique la cadena crea una copia nueva.