Sobes.tech
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:

  1. 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
  1. 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
  1. Asignación por índices — solo posible si la slice ya está inicializada y tiene suficiente longitud.

  2. 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.