Junior — Middle
¿Qué sucede si se crea un slice con un valor nulo y qué operaciones son permitidas con él?
sobes.tech AI
Respuesta de la IA
En Go, una slice con valor cero es una slice nil. No apunta a ninguna matriz y tiene una longitud y capacidad iguales a cero.
Operaciones permitidas con tal slice:
- Obtener la longitud y capacidad (
len(slice) == 0,cap(slice) == 0) - Iterar sobre la slice (el ciclo simplemente no se ejecutará)
- Agregar elementos mediante
append, lo que creará una nueva slice con memoria asignada
Ejemplo:
var s []int // slice nil
fmt.Println(s == nil) // true
fmt.Println(len(s)) // 0
s = append(s, 1) // ahora s no es nil, contiene un elemento
No se puede acceder a los elementos por índice, ya que la slice está vacía y esto causará un pánico.