Ir - Matrices

El lenguaje de programación Go proporciona una estructura de datos llamada the array, que puede almacenar una colección secuencial de tamaño fijo de elementos del mismo tipo. Una matriz se usa para almacenar una colección de datos, pero a menudo es más útil pensar en una matriz como una colección de variables del mismo tipo.

En lugar de declarar variables individuales, como número0, número1, ... y número99, declaras una variable de matriz como números y usas números [0], números [1] y ..., números [99] para representar variables individuales. Se accede a un elemento específico de una matriz mediante un índice.

Todas las matrices constan de ubicaciones de memoria contiguas. La dirección más baja corresponde al primer elemento y la dirección más alta al último elemento.

Declaración de matrices

Para declarar una matriz en Go, un programador especifica el tipo de elementos y el número de elementos requeridos por una matriz de la siguiente manera:

var variable_name [SIZE] variable_type

Esto se llama matriz unidimensional . losarraySize debe ser una constante entera mayor que cero y typepuede ser cualquier tipo de datos Go válido. Por ejemplo, para declarar una matriz de 10 elementos llamadabalance de tipo float32, use esta declaración -

var balance [10] float32

Aquí, balance es una matriz de variables que puede contener hasta 10 números flotantes.

Inicialización de matrices

Puede inicializar la matriz en Go uno por uno o usando una sola declaración de la siguiente manera:

var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

El número de valores entre llaves {} no puede ser mayor que el número de elementos que declaramos para el arreglo entre corchetes [].

Si omite el tamaño de la matriz, se crea una matriz lo suficientemente grande como para contener la inicialización. Por lo tanto, si escribe -

var balance = []float32{1000.0, 2.0, 3.4, 7.0, 50.0}

Creará exactamente la misma matriz que hizo en el ejemplo anterior. A continuación se muestra un ejemplo para asignar un solo elemento de la matriz:

balance[4] = 50.0

Lo anterior cesionarios declaración elemento número 5 º en la matriz con un valor de 50,0. Todas las matrices tienen 0 como índice de su primer elemento, que también se denomina índice base y el último índice de una matriz será el tamaño total de la matriz menos 1. A continuación, se muestra la representación gráfica de la misma matriz que discutimos anteriormente:

Acceso a elementos de matriz

Se accede a un elemento indexando el nombre de la matriz. Esto se hace colocando el índice del elemento entre corchetes después del nombre de la matriz. Por ejemplo

float32 salary = balance[9]

La declaración anterior tomará el décimo elemento de la matriz y asignará el valor a la variable de salario. A continuación se muestra un ejemplo que utilizará los tres conceptos mencionados anteriormente, a saber. declaración, asignación y acceso a matrices -

package main

import "fmt"

func main() {
   var n [10]int /* n is an array of 10 integers */
   var i,j int

   /* initialize elements of array n to 0 */         
   for i = 0; i < 10; i++ {
      n[i] = i + 100 /* set element at location i to i + 100 */
   }
   
   /* output each array element's value */
   for j = 0; j < 10; j++ {
      fmt.Printf("Element[%d] = %d\n", j, n[j] )
   }
}

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

Ir a matrices en detalle

Hay conceptos importantes relacionados con la matriz que deberían quedar claros para un programador de Go:

No Señor Concepto y descripción
1 Matrices multidimensionales

Go admite matrices multidimensionales. La forma más simple de una matriz multidimensional es la matriz bidimensional.

2 Pasar matrices a funciones

Puede pasar a la función un puntero a una matriz especificando el nombre de la matriz sin un índice.