Junior — Middle
¿Cómo distinguir las formas de crear un corte en Go usando var, make y asignaciones por índice o a través de append?
sobes.tech AI
Respuesta de la IA
En Go, las slices se pueden crear de diferentes maneras, que difieren en la inicialización y asignación de memoria:
- Declaración con
var— crea una slice nil, que no apunta a ningún array y tiene longitud y capacidad 0.
var s []int // slice nil
- Creación de una slice mediante
make— asigna un array de longitud y capacidad especificadas, y devuelve una slice que apunta a ese array.
s := make([]int, 5) // slice de longitud 5, lleno de ceros
-
Asignación por índices — solo posible si la slice ya está inicializada y tiene suficiente longitud.
-
Agregar elementos con
append— añade elementos a la slice, y si es necesario, aumenta la capacidad y asigna un nuevo array.
s = append(s, 10) // añade el elemento 10 a la slice
De esta forma, var crea una slice nil vacía, make crea una slice con memoria asignada, la asignación por índices requiere una longitud existente, y append expande la slice dinámicamente.