Bienvenido a Platzi

Juan Diego Mejia Maestre

Juan Diego Mejia Maestre

student
hace 3 meses

📦 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):
    var a [5]int
    // Crea [0 0 0 0 0]
  • Declaración con valores iniciales:
    lista := [3]int{10, 20, 30}
  • Tamaño inferido (...): Go cuenta los elementos por ti.
    lista2 := [...]int{1, 2, 3, 4, 5}
    // El tamaño será 5 automáticamente.

🔍 Operaciones Clave

  1. Acceso e Inserción: Se usa el índice (basado en cero).
    arreglo[4] = 100
    // Asigna el valor 100 al último lugar de un [5]int.
  2. Longitud: La función integrada
    len()
    devuelve el tamaño total.
    fmt.Println(len(arreglo))
  3. 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
    [5]int
    y un
    [10]int
    son tipos totalmente distintos para el compilador. No puedes intercambiarlos.

⚠️ 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
    [3]int
    y solo llenas dos espacios, el tercero será automáticamente
    0
    .
No hay respuestas
Curso de Go

Curso de Go

Programa aplicaciones backend con Go. Aprende variables, funciones, goroutines y manejar concurrency para procesos eficientes. Desarrolla con GoMod y aprovecha paquetes externos. Implementa prácticas recomendadas desde métodos hasta channels.

Curso de Go
Curso de Go

Curso de Go

Programa aplicaciones backend con Go. Aprende variables, funciones, goroutines y manejar concurrency para procesos eficientes. Desarrolla con GoMod y aprovecha paquetes externos. Implementa prácticas recomendadas desde métodos hasta channels.