Sobes.tech
Junior — Middle

¿Puedes explicar qué es un corte (slice) en programación y cómo funciona?

sobes.tech AI

Respuesta de la IA

Un slice en Go es un fragmento dinámico y mutable de un array. Es una estructura que contiene:

  • un puntero al primer elemento del array,
  • la longitud (el número de elementos en el slice),
  • la capacidad (el número máximo de elementos que puede contener el slice sin redistribución).

Los slices permiten trabajar con secuencias de elementos sin necesidad de copiar datos.

Ejemplo de creación y uso de un slice:

arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // slice de los elementos con índices 1,2,3
fmt.Println(slice) // [2 3 4]

slice = append(slice, 6) // añadimos un elemento, si es necesario se asigna nueva memoria
fmt.Println(slice) // [2 3 4 6]

Los slices son útiles porque se pueden crear nuevos slices a partir de existentes, cambiar su tamaño y pasarlos a funciones sin copiar todo el array.