Saltar al contenido principal
Publicado el

Arrays en Go

Compartir:

Introducción

Los arrays son una parte fundamental de muchos lenguajes de programación y Go no es la excepción. Al entender los arrays, se abre una puerta hacia estructuras de datos más avanzadas y algoritmos más complejos.

Características de los Arrays en Go

En Go, un array es una secuencia de elementos del mismo tipo, donde cada elemento puede identificarse mediante un índice. Aquí hay algunas características importantes:

  1. Tamaño Fijo: Una vez que se declara un array, su tamaño no puede modificarse.
  2. Índice Basado en Cero: El primer elemento tiene índice 0, el segundo tiene índice 1, y así sucesivamente.
  3. Asignación en Memoria: Los elementos de un array se almacenan de forma contigua en la memoria.

Declarando e Inicializando Arrays

// Declarando un array de enteros con 3 elementos
var numeros [3]int
// Inicializando un array durante la declaración
dias := [7]string{"Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"}

Accediendo y Modificando Elementos

Como vimos en el ejemplo anterior, se puede acceder y modificar los elementos del array usando el índice:

nombres := [3]string{"Juan", "María", "Ana"}
nombres[1] = "Mariana" // Modifica el segundo elemento

Iterando Sobre Arrays

Usando el bucle for en combinación con la función range, es posible iterar sobre todos los elementos de un array:

for i, valor := range nombres {
	fmt.Printf("Nombre %d: %s\n", i, valor)
}

Ejemplo Práctico

package main

import "fmt"

func main() {
	var colores [5]string

	colores[0] = "Azul"
	colores[1] = "Verde"
	colores[2] = "Amarillo"
	colores[3] = "Rojo"
	colores[4] = "Naranja"

	colores = [...]string { "Blanco", "Verde", "Amarillo", "Rojo", "Naranja" }

	fmt.Printf("Número de colores: %d\n", len(colores)) // Número de colores: 5
	fmt.Printf("Primer color: %s\n", colores[0]) // Primer color: Azul
	fmt.Printf("Último color: %s", colores[len(colores) - 1]) // Último color: Naranja
}

Consejos y Trucos

  1. Slicing: Go soporta slicing, lo que permite crear un subconjunto de un array existente. Esto es útil cuando se desea trabajar solo con una parte del array.
  2. Función len(): Como se demostró, len() devuelve el número de elementos en el array.
  3. Arrays vs. Slices: En Go, los slices son más flexibles que los arrays y se usan con mayor frecuencia. Sin embargo, los arrays tienen su utilidad, especialmente cuando se conoce de antemano el número de elementos.

Conclusión

Los arrays son una herramienta poderosa en Go, que permite almacenar y manipular conjuntos de datos de manera eficiente. Dominar los arrays es esencial para cualquier programador de Go y sirve como base para estructuras de datos más avanzadas.

Happy coding!