Junior — Middle
¿Se puede realizar una operación de lectura de datos desde un segmento que no ha sido inicializado previamente?
sobes.tech AI
Respuesta de la IA
En Go, los slices son estructuras que contienen un puntero a un array, una longitud y una capacidad. Si un slice no ha sido inicializado (es decir, es igual a nil), intentar leer de él provocará un pánico.
Por ejemplo:
var s []int // slice nil
fmt.Println(s[0]) // pánico: error en tiempo de ejecución: índice fuera de rango
Para leer de manera segura de un slice, debe inicializarse, por ejemplo, usando make o asignándole un array existente:
s := make([]int, 3)
fmt.Println(s[0]) // 0, seguro
Por lo tanto, no se puede leer de un slice no inicializado, ya que esto provocará un error en tiempo de ejecución.