Golang verifique se a chave no mapa

Golang verifique se a chave no mapa
Um mapa refere-se a uma coleção não ordenada de pares de valor-chave. Em outras linguagens de programação, os mapas são referidos com nomes diferentes, como hashes, dicionários, matriz associativa ou um mapa não ordenado.

Seja qual for o nome, os mapas são incrivelmente versáteis e fornecem uma maneira fácil e rápida de recuperar, atualizar ou excluir dados usando as chaves.

Neste tutorial amigável, você aprenderá como verificar se existe uma chave em um mapa usando a linguagem de programação Go.

O básico

Antes de verificar se um mapa está em uma chave, vamos começar com como criar um mapa em Go.

Para criar um mapa em Go, use a sintaxe de exemplo mostrada abaixo:

mapa [key_data_type] valores_data_type // cria um mapa vazio
map [key_data_type] value_data_type key_1: value_1,…, key_n: value_n // mapear com dados

O exemplo abaixo cria um mapa de cordas:

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

Recuperar valores no mapa

Precisamos recuperar um valor associado a uma chave específica em um mapa na maioria dos casos. GO nos fornece um método muito simples para realizar esta tarefa.

A sintaxe é como mostrado:

map_name [chave]

Podemos acessar um valor armazenado em uma chave específica chamando o nome do mapa e passando a tecla de destino dentro de um par de colchetes quadrados.

Um exemplo é como mostrado:

fmt.Println (my_map [4])

O acima deve recuperar o valor no número da chave 4. A saída resultante é como mostrado:

$ go run check_if_key_exists.ir
OpenSuse

Embora essa seja uma técnica simples para recuperar um valor com base em uma chave, às vezes pode confundir se uma chave não está em um mapa.

O que acontece quando você tenta recuperar um valor para uma chave inexistente?

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

O código acima retorna 0, pois não há chave "0" aqui.

Mas e se você tivesse uma chave segurando o valor real "0"? Como você diz se a chave não está lá ou o valor é 0?

Verifique se a chave existe no mapa

Portanto, é prudente ter uma maneira de saber se uma chave está lá ou o valor é apenas 0. Podemos usar a sintaxe como mostrado:

_, encontrado: = map_name [chave]

O parâmetro encontrado contém um valor booleano. Se a chave estiver no mapa, o parâmetro encontrado é verdadeiro e falso.

Hmm, legal!

Podemos usar essa funcionalidade para implementar uma declaração condicional com base no valor da variável encontrada.

Um exemplo é como mostrado:

func check_if_exists ()
estados: = mapa [string] string
"CO": "Colorado",
"De": "Delaware",
"LA": ​​"Louisiana",
"MA": "Massachusetts",
"VT": "Vermont",

se _, encontrado: = estados ["ma"]; encontrado
fmt.Printf ("encontrado")
outro
fmt.Println ("não encontrado")

No exemplo acima, usamos uma instrução IF para verificar se uma chave está no mapa usando o parâmetro encontrado.

O código resultante é como mostrado:

$ go run check_if_key_exists.ir
Não encontrado

Este método funcionará com eficiência, mesmo que o valor da chave especificado seja igual a 0 ou verdadeiro/false.

Conclusão

Neste artigo, você aprendeu a acessar valores em um mapa usando a chave associada e verificar se uma chave está em um mapa.

Obrigado pela leitura e modo de código feliz!