Arrays en Go

En Go, un array es una estructura de datos que contiene un conjunto de valores del mismo tipo. Los arrays se definen con una longitud fija y los valores se almacenan en una posición específica en la memoria.

La sintaxis para declarar un array es la siguiente:


var nombre_array [longitud]tipo

Lenguaje del código: Go (go)

Donde nombre_array es el nombre del array, longitud es la cantidad de elementos que puede almacenar el array y tipo es el tipo de dato que contendrá el array.

Por ejemplo, para declarar un array de 5 elementos de tipo int:


var mi_array [5]int

Lenguaje del código: Go (go)

En este ejemplo, se declara un array llamado mi_array de longitud 5 que puede almacenar valores de tipo int.

Los elementos de un array se acceden utilizando su índice, que es un número entero que indica la posición del elemento en el array. El índice del primer elemento en un array es 0, y el índice del último elemento es la longitud del array menos uno.

Por ejemplo, para asignar un valor al segundo elemento del array mi_array:


mi_array[1] = 10

Lenguaje del código: Go (go)

En este ejemplo, se asigna el valor 10 al segundo elemento del array mi_array, cuyo índice es 1.

También se puede inicializar un array al momento de su declaración utilizando la sintaxis de llaves {}. Por ejemplo, para inicializar un array de 3 elementos de tipo int con los valores 1, 2 y 3:


var mi_array [3]int = [3]int{1, 2, 3}

Lenguaje del código: Go (go)

En este ejemplo, se declara un array llamado mi_array de longitud 3 que contiene los valores 1, 2 y 3.

Los arrays en Go son una herramienta útil para almacenar una cantidad fija de datos del mismo tipo. Sin embargo, debido a su longitud fija, pueden ser limitantes en situaciones en las que se necesitan agregar o eliminar elementos dinámicamente.

En estos casos, se pueden utilizar estructuras de datos como slices en su lugar.

Acceder a elementos de un array en Go

En Go, se accede a los elementos de un array mediante su índice. El índice indica la posición del elemento dentro del array, empezando por 0 para el primer elemento.

Para acceder a un elemento específico del array, se utiliza la sintaxis array[indice], donde array es el nombre del array y indice es el número entero que indica la posición del elemento que se desea acceder.

Por ejemplo, si tenemos el siguiente array de tipo int:


var mi_array [5]int = [5]int{10, 20, 30, 40, 50}

Lenguaje del código: Go (go)

Para acceder al tercer elemento del array, que tiene un índice de 2, se puede hacer lo siguiente:


fmt.Println(mi_array[2]) // Imprime el valor del tercer elemento del array: 30

Lenguaje del código: Go (go)

En este ejemplo, se utiliza la sintaxis mi_array[2] para acceder al tercer elemento del array, que tiene un índice de 2. Luego, se utiliza la función fmt.Println() para imprimir el valor del elemento.

También se pueden utilizar variables como índices para acceder a los elementos de un array. Por ejemplo, si tenemos una variable indice de tipo int que contiene el valor 1, se puede acceder al segundo elemento del array de la siguiente manera:


var indice int = 1
fmt.Println(mi_array[indice]) // Imprime el valor del segundo elemento del array: 20

Lenguaje del código: Go (go)

En este ejemplo, se utiliza la variable indice como índice para acceder al segundo elemento del array, que tiene un valor de 20.

Es importante tener en cuenta que los índices en Go deben ser números enteros no negativos. Si se utiliza un índice fuera del rango válido del array, se producirá un error en tiempo de ejecución.

Cambiar elementos de un array en Go

En Go, se pueden cambiar los elementos de un array utilizando la sintaxis array[indice] = valor, donde array es el nombre del array, indice es el número entero que indica la posición del elemento que se desea cambiar y valor es el nuevo valor que se desea asignar al elemento.

Por ejemplo, si tenemos el siguiente array de tipo int:


var mi_array [5]int = [5]int{10, 20, 30, 40, 50}

Lenguaje del código: Go (go)

Para cambiar el valor del tercer elemento del array, que tiene un índice de 2, se puede hacer lo siguiente:


mi_array[2] = 35
fmt.Println(mi_array) // Imprime el array modificado: [10 20 35 40 50]

Lenguaje del código: Go (go)

En este ejemplo, se utiliza la sintaxis mi_array[2] = 35 para cambiar el valor del tercer elemento del array, que tiene un índice de 2, a 35. Luego, se utiliza la función fmt.Println() para imprimir el array modificado.

También se pueden utilizar variables como índices para cambiar los elementos de un array. Por ejemplo, si tenemos una variable indice de tipo int que contiene el valor 1 y queremos cambiar el valor del segundo elemento del array, se puede hacer lo siguiente:


var indice int = 1
mi_array[indice] = 25
fmt.Println(mi_array) // Imprime el array modificado: [10 25 30 40 50]

Lenguaje del código: Go (go)

En este ejemplo, se utiliza la variable indice como índice para acceder al segundo elemento del array y cambiar su valor a 25. Luego, se utiliza la función fmt.Println() para imprimir el array modificado.

Inicialización de matrices en Go

En Go, se pueden inicializar matrices utilizando la sintaxis de llaves {}. La sintaxis para declarar una matriz es la siguiente:


var nombre_matriz [n_filas][n_columnas]tipo

Lenguaje del código: Go (go)

Donde nombre_matriz es el nombre de la matriz, n_filas es el número de filas y n_columnas es el número de columnas que tendrá la matriz, y tipo es el tipo de datos que contendrá la matriz.

Por ejemplo, para declarar una matriz de 2 filas y 3 columnas de tipo int y asignar valores a los elementos de la matriz:


var mi_matriz [2][3]int = [2][3]int{
    {1, 2, 3},
    {4, 5, 6},
}

Lenguaje del código: Go (go)

En este ejemplo, se declara una matriz llamada mi_matriz de 2 filas y 3 columnas que puede almacenar valores de tipo int. Los valores de la matriz se asignan utilizando la sintaxis de llaves {}, donde cada fila de la matriz se separa por comas y cada elemento de la fila se separa por comas también.

También se puede utilizar la sintaxis de llaves para inicializar solo algunos elementos de la matriz y dejar otros con valores por defecto. En este caso, los elementos no inicializados se inicializarán con el valor por defecto para el tipo de datos correspondiente.

Por ejemplo, para declarar una matriz de 3 filas y 3 columnas de tipo int y asignar valores a algunos de los elementos de la matriz:


var mi_matriz [3][3]int = [3][3]int{
    {1, 2},
    {4, 5, 6},
    {7, 8, 9},
}

Lenguaje del código: Go (go)

En este ejemplo, se declara una matriz llamada mi_matriz de 3 filas y 3 columnas que puede almacenar valores de tipo int. Se asignan valores a los elementos de las dos primeras filas y la tercera fila se inicializa con valores por defecto (0 para el tipo de datos int).

Es importante tener en cuenta que todos los elementos de la matriz deben tener el mismo tipo de datos. Si se intenta asignar un valor de un tipo de datos diferente a los demás elementos de la matriz, se producirá un error de compilación.

Inicializar solo elementos específicos

En Go, se pueden inicializar solo algunos elementos específicos de una matriz utilizando la sintaxis de llaves {}. Para hacer esto, se utiliza la notación [fila][columna] dentro de las llaves para indicar la posición del elemento que se desea inicializar, seguido por dos puntos : y el valor que se desea asignar.

Por ejemplo, si se tiene la siguiente matriz de tipo int:


var mi_matriz [3][3]int

Lenguaje del código: Go (go)

Para inicializar solo algunos elementos específicos de la matriz, se puede hacer lo siguiente:


mi_matriz = [3][3]int{
    {1, 2: 3},
    {4: 5},
    {6, 7, 8},
}

Lenguaje del código: Go (go)

En este ejemplo, se inicializan los siguientes elementos de la matriz:

  • El primer elemento de la primera fila se inicializa a 1.
  • El tercer elemento de la primera fila se inicializa a 3.
  • El quinto elemento de la segunda fila se inicializa a 5.
  • Los tres elementos de la tercera fila se inicializan a 6, 7 y 8.

Todos los demás elementos de la matriz se inicializan con el valor por defecto para el tipo de datos correspondiente (0 para el tipo de datos int).

Encuentra la longitud de un array en Go

En Go, la longitud de un array se puede obtener utilizando la función len(). La sintaxis para utilizar esta función es la siguiente:


longitud := len(array)

Lenguaje del código: Go (go)

Donde array es el nombre del array y longitud es una variable de tipo int que almacenará la longitud del array.

Por ejemplo, si se tiene el siguiente array de tipo int:


var mi_array [5]int = [5]int{10, 20, 30, 40, 50}

Lenguaje del código: Go (go)

Se puede obtener la longitud del array de la siguiente manera:


longitud := len(mi_array)
fmt.Println(longitud) // Imprime la longitud del array: 5

Lenguaje del código: Go (go)

En este ejemplo, se utiliza la función len() para obtener la longitud del array mi_array, que es de 5 elementos. Luego, se utiliza la función fmt.Println() para imprimir la longitud del array.

Es importante tener en cuenta que la longitud de un array es fija y no puede ser cambiada durante la ejecución del programa. Si se necesita almacenar una cantidad variable de elementos, se pueden utilizar estructuras de datos como slices en su lugar.