Juan Diego Mejia Maestre
📦 Arreglos (Arrays) en Go: Estructuras Estáticas
En Go, los arreglos son colecciones de elementos del mismo tipo con un tamaño fijo que se define al momento de la creación. A diferencia de otros lenguajes, el tamaño forma parte del tipo del arreglo.
🛠️ Declaración e Inicialización
Existen varias formas de crear arreglos según la necesidad:
- Declaración estándar (valores en cero): // Crea [0 0 0 0 0]
var a [5]int - Declaración con valores iniciales:
lista := [3]int{10, 20, 30} - Tamaño inferido (...): Go cuenta los elementos por ti. // El tamaño será 5 automáticamente.
lista2 := [...]int{1, 2, 3, 4, 5}
🔍 Operaciones Clave
- Acceso e Inserción: Se usa el índice (basado en cero). // Asigna el valor 100 al último lugar de un [5]int.
arreglo[4] = 100 - Longitud: La función integrada devuelve el tamaño total.
len()fmt.Println(len(arreglo)) - Iteración eficiente: Lo ideal es usar un ciclo para recorrerlos rápidamente.
Go
for i, v := range lista { fmt.Printf("Índice: %d, Valor: %d\n", i, v) }
🚀 Información Extra (Pro Tips)
- Arreglos vs Slices: En el desarrollo real con Go, los arreglos se usan poco. Lo más común es usar Slices, que son dinámicos y flexibles. Los arreglos son la base sobre la que se construyen los slices.
- Paso por valor: A diferencia de otros lenguajes donde los arreglos se pasan por referencia, en Go, si pasas un arreglo a una función, se crea una copia completa en memoria. Esto puede ser costoso en términos de rendimiento si el arreglo es muy grande.
- Tipado estricto: Un y un
[5]intson tipos totalmente distintos para el compilador. No puedes intercambiarlos.[10]int
⚠️ Limitaciones a recordar
- El tamaño es inmutable: no puedes "agrandar" un arreglo.
- Todos los elementos deben ser del mismo tipo de dato.
- Si declaras y solo llenas dos espacios, el tercero será automáticamente
[3]int.0
