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.