Golang Verifique si la tecla en el mapa

Golang Verifique si la tecla en el mapa
Un mapa se refiere a una colección desordenada de pares de valores clave. En otros lenguajes de programación, los mapas se mencionan con diferentes nombres como hashes, diccionarios, matriz asociativa o un mapa desordenado.

Cualquiera sea el nombre, los mapas son increíblemente versátiles y proporcionan una forma fácil y rápida de recuperar, actualizar o eliminar datos utilizando las claves.

En este amigable tutorial, aprenderá cómo verificar si existe una clave en un mapa usando el lenguaje de programación GO.

Los basicos

Antes de verificar si un mapa está en una clave, comencemos con cómo crear un mapa en Go.

Para crear un mapa en Go, use la sintaxis de ejemplo que se muestra a continuación:

map [key_data_type] valores_data_type // Crea un mapa vacío
map [key_data_type] value_data_type key_1: value_1,…, key_n: value_n // mapa con datos

El ejemplo a continuación crea un mapa de cuerdas:

my_map: = map [int] string
1: "Ubuntu",
2: "Debian"
3: "Fedora"
4: "OpenSuse"
5: "Manjaro",

Recuperar valores en el mapa

Tendremos que recuperar un valor asociado con una clave específica en un mapa en la mayoría de los casos. Go proporciona un método muy simple para lograr esta tarea.

La sintaxis es como se muestra:

map_name [clave]

Podemos acceder a un valor almacenado en una clave específica llamando al nombre del mapa y pasando la clave de destino dentro de un par de soportes cuadrados.

Un ejemplo es como se muestra:

fmt.Println (my_map [4])

Lo anterior debe recuperar el valor en el número de clave 4. La salida resultante es como se muestra:

$ Go Run Check_IF_Key_Exists.ir
Usura de apertura

Aunque esta es una técnica simple para recuperar un valor basado en una clave, a veces puede confundir si una clave no está en un mapa.

¿Qué sucede cuando intenta recuperar un valor para una clave inexistente??

fmt.Println (my_map [0])
…> 0

El código anterior devuelve 0 ya que no hay una clave "0" aquí.

Pero, ¿y si tuviera una clave que contenga el valor real "0"? ¿Cómo se sabe si la clave no está allí o el valor es 0??

Compruebe si existe la clave en el mapa

Por lo tanto, es prudente tener una forma de saber si una clave está allí o el valor es solo 0. Podemos usar la sintaxis como se muestra:

_, encontrado: = map_name [clave]

El parámetro encontrado tiene un valor booleano. Si la clave está en el mapa, el parámetro encontrado es verdadero y falso.

Hmm, genial!

Podemos usar esta funcionalidad para implementar una declaración condicional basada en el valor de la variable encontrada.

Un ejemplo es como se muestra:

FUNC check_if_exists ()
estados: = map [cadena] cadena
"Co": "Colorado",
"De": "Delaware",
"LA": ​​"Louisiana",
"Ma": "Massachusetts",
"VT": "Vermont",

si _, encontrado: = estados ["ma"]; encontró
fmt.Printf ("encontrado")
demás
fmt.Println ("no encontrado")

En el ejemplo anterior, usamos una instrucción IF para verificar si una clave está en el mapa utilizando el parámetro encontrado.

El código resultante es como se muestra:

$ Go Run Check_IF_Key_Exists.ir
Extraviado

Este método funcionará de manera eficiente incluso si el valor de la clave especificada es igual a 0 o verdadero/falso.

Conclusión

En este artículo, aprendió a acceder a los valores en un mapa usando la clave asociada y verificar si una clave está en un mapa.

Gracias por leer y feliz modo de código!