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!