Sobes.tech
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.