0Pricing
Go Academy · Lección

Arrays: colecciones de longitud fija

Literales de array, indexación y longitud

Arrays: colecciones de longitud fija es una lección gratuita de Go Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Go Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Go Academy incluye 4 lecciones en total.

¿Qué es un array?

Un array en Go es una secuencia de longitud fija cuyos elementos son del mismo tipo. La longitud forma parte del tipo: [3]int y [4]int son tipos distintos.

  • Los arrays son tipos de valor: al asignarlos se copia el array completo
  • La longitud siempre se conoce en tiempo de compilación
  • Rara vez se utilizan directamente; se prefieren los slices para la mayoría de las tareas

Literales de array

Declare e inicialice arrays con un literal:

package main

func main() {
    primes := [5]int{2, 3, 5, 7, 11}
    names  := [3]string{"Alice", "Bob", "Carol"}
    flags  := [4]bool{true, false, true, false}
    _ = primes; _ = names; _ = flags
}

Longitud e indexación de arrays

Utilice len() para obtener la longitud y la indexación basada en cero para leer o escribir elementos:

package main
import "fmt"

func main() {
    scores := [3]int{90, 85, 92}
    fmt.Println(len(scores)) // 3
    fmt.Println(scores[0])   // 90
    scores[1] = 100
    fmt.Println(scores)      // [90 100 92]
}

Elipsis en literales de array

Utilice [...] para que el compilador cuente los elementos:

package main
import "fmt"

func main() {
    days := [...]string{"Mon","Tue","Wed","Thu","Fri"}
    fmt.Println(len(days)) // 5
}

Los arrays son tipos de valor

Al asignar o pasar un array, Go copia todo su contenido. Modificar la copia no afecta al original:

package main
import "fmt"

func main() {
    a := [3]int{1, 2, 3}
    b := a     // full copy
    b[0] = 99
    fmt.Println(a) // [1 2 3] — unchanged
    fmt.Println(b) // [99 2 3]
}

Comparar arrays

Los arrays del mismo tipo y longitud pueden compararse con == y !=:

package main
import "fmt"

func main() {
    x := [3]int{1, 2, 3}
    y := [3]int{1, 2, 3}
    z := [3]int{1, 2, 4}
    fmt.Println(x == y) // true
    fmt.Println(x == z) // false
}

Arrays bidimensionales

Los arrays pueden anidarse para formar cuadrículas o matrices:

package main
import "fmt"

func main() {
    grid := [2][3]int{
        {1, 2, 3},
        {4, 5, 6},
    }
    fmt.Println(grid[1][2]) // 6
}

Iterar sobre un array

Utilice un bucle for clásico o range para iterar:

package main
import "fmt"

func main() {
    nums := [4]int{10, 20, 30, 40}
    for i, v := range nums {
        fmt.Printf("[%d] = %d\n", i, v)
    }
}

Arrays frente a slices

Diferencias principales:

  • Array: tamaño fijo, tipo de valor, el tamaño forma parte del tipo
  • Slice: tamaño dinámico, tipo de referencia, respaldado por un array
  • En la práctica, utilice slices salvo que necesite un tamaño fijo en tiempo de compilación (por ejemplo, el hash SHA-256 [32]byte)

Errores frecuentes

Preste atención a lo siguiente:

  • Índice fuera de rango: Go provoca un panic en tiempo de ejecución si i >= len(arr)
  • Pasar arrays grandes a las funciones provoca copias costosas; utilice punteros o slices en su lugar
  • No olvide que [3]int y [4]int son tipos incompatibles

Comprobación rápida

¿Cuál es la longitud de [...]string{"a","b","c"}?

Resumen: arrays

Conclusiones principales:

  • Los arrays tienen una longitud fija en tiempo de compilación que forma parte del tipo
  • Son tipos de valor: la asignación copia todos los elementos
  • Utilice len() y la indexación basada en cero
  • Prefiera los slices para la mayoría de las necesidades de colecciones

Propuesta de práctica

Declare un array de 5 enteros, asigne el valor 100 al tercer elemento y, a continuación, imprima el array mediante range.

Preguntas frecuentes

¿La lección «Arrays: colecciones de longitud fija» es gratis?

Sí — el texto completo de «Arrays: colecciones de longitud fija» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Go Academy, actualiza a CoddyKit PRO. El curso de Go Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Arrays: colecciones de longitud fija»?

Literales de array, indexación y longitud Practicas Go Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Go Academy?

No se requiere experiencia previa. Go Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Arrays: colecciones de longitud fija»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Go Academy?

Sí. Cada lección de Go Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Arrays: colecciones de longitud fija
  2. Slices: listas dinámicas
  3. Maps: almacenes clave-valor
  4. Iteración de colecciones con range
← Volver a Go Academy