Junior — Middle
¿Puedes explicar el principio de funcionamiento de los slices en el lenguaje de programación?
sobes.tech AI
Respuesta de la IA
Una rebanada (slice) en Go es una vista dinámica y mutable de una secuencia de elementos del mismo tipo. Contiene:
- un puntero a un array,
- la longitud (el número de elementos en la rebanada),
- la capacidad (el número máximo de elementos que puede contener sin asignar nueva memoria).
Las rebanadas permiten trabajar con partes de arrays o crear nuevas secuencias dinámicas sin copiar datos.
Ejemplo:
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:4] // rebanada de elementos con índices 1,2,3: [2 3 4]
fmt.Println(s) // [2 3 4]
s = append(s, 6) // añadimos un elemento, si la capacidad lo permite, la rebanada se expande
Las rebanadas son útiles porque permiten trabajar con datos de manera eficiente, sin copiar arrays, y cambiar dinámicamente el tamaño de la secuencia.