Golang iterar sobre el mapa

Golang iterar sobre el mapa
Un mapa es una colección desordenada de pares de valores clave. Los mapas son rápidos y eficientes para búsqueda rápida, actualizaciones y eliminaciones utilizando las teclas únicas.

Por lo tanto, aprender a trabajar con mapas puede ser crucial como desarrollador. Este artículo intentará responder algunas preguntas sobre los mapas en el lenguaje de programación GO.

Cómo crear un mapa

Puede crear un mapa en Go usando la sintaxis que se muestra a continuación:

MAP [key_data_type] value_data_type

Comenzamos con el mapa de palabras clave seguido del tipo de datos de la clave. A continuación, establecemos el tipo de datos para los valores y, finalmente, un par de aparatos ortopédicos rizados.

La sintaxis anterior crea un mapa vacío.

Por ejemplo, para crear un mapa vacío con el tipo int como las teclas y el tipo de cadena como valores, podemos hacer:

var my_map mapa [int] cadena

Si no desea un mapa vacío, puede asignar valores durante la creación como se muestra a continuación:

var my_map map [int] string 1: "A", 2: "B", 3: "C", 4: "D"

El segundo método para crear un mapa es para el mapa de Go literal. Un ejemplo es como se muestra:

my_map: = map [int] string

Lo anterior crea un mapa vacío.

Go también le proporciona el método make (), que puede usar para crear un mapa. El ejemplo a continuación crea un mapa vacío de pares de cadena.

my_map: = map [string] float64

Cómo imprimir un mapa

La operación más simple que puede realizar con un mapa es imprimirlo. Para eso, podemos usar el método println desde el paquete FMT.

paquete principal
importar "fmt"
funcmain ()
my_map: = map [int] string
1: "A",
2: "B",
3: "C",
4: "D",
5: "E",

fmt.Println (my_map)

El código anterior debe imprimir el mapa almacenado en la variable "my_map". La salida resultante es como se muestra:

Mapa [1: A 2: B 3: C 4: D 5: E]

Cómo iterar sobre claves y valores de un mapa

Iterando sobre un mapa significa que obtenemos cada par de clave de valor clave consecutivo en el mapa. Podemos lograr esto utilizando el clásico para bucle y el operador de rango.

Un ejemplo es como se muestra:

my_map: = map [int] string
1: "A",
2: "B",
3: "C",
4: "D",
5: "E",

Para la tecla, valor: = rango my_map
fmt.Printf ("clave: %d Valor: %s \ n", clave, valor)

En Go, llamar al operador de rango en un mapa devuelve dos valores: la clave y el valor. Usar el bucle for For nos permite obtener cada clave y valor en el mapa.

La salida resultante:

Clave: 5 Valor: E
Clave: 1 Valor: A
Clave: 2 Valor: B
Clave: 3 Valor: C
Clave: 4 Valor: D

Cómo iterar las claves solo en un mapa

Como se mencionó, el uso del operador de rango en un mapa devuelve la clave y los pares de valor. Sin embargo, podemos recuperar solo un valor, como se muestra a continuación:

Para la clave: = rango my_map
fmt.Println ("clave:", clave)

El ejemplo anterior solo debe devolver las teclas en el mapa como:

Clave: 2
Clave: 3
Clave: 4
Clave: 5
Clave: 1

Cómo iterar los valores en un mapa

Del mismo modo, puede recuperar los valores del mapa utilizando la sintaxis a continuación:

para _, valor: = rango my_map
fmt.Println ("valor:", valor)

Producción:

Valor: A
Valor: B
Valor: C
Valor: D
Valor: E

Conclusión

Puede iterar sobre la clave y los valores de un mapa utilizando el operador de rango. También puede filtrar y obtener solo las teclas o valores que se muestran en esta guía.

Codificación feliz!