Golang iterate sobre o mapa

Golang iterate sobre o mapa
Um mapa é uma coleção não ordenada de pares de valores-chave. Os mapas são rápidos e eficientes para pesquisas, atualizações e exclusão rápidas usando as chaves exclusivas.

Portanto, aprender a trabalhar com mapas pode ser crucial como desenvolvedor Go. Este artigo tentará responder a algumas perguntas sobre mapas na linguagem de programação Go.

Como criar um mapa

Você pode criar um mapa em Go usando a sintaxe mostrada abaixo:

mapa [key_data_type] value_data_type

Começamos com o mapa de palavras -chave seguido pelo tipo de dados da chave. Em seguida, definimos o tipo de dados para os valores e, finalmente, um par de aparelhos encaracolados.

A sintaxe acima cria um mapa vazio.

Por exemplo, para criar um mapa vazio com o tipo int como as teclas e o tipo de string como valores, podemos fazer:

var my_map mapa [int] string

Se você não deseja um mapa vazio, pode atribuir valores durante a criação, como mostrado abaixo:

var my_map mapa [int] string 1: "a", 2: "b", 3: "c", 4: "d"

O segundo método para criar um mapa é o mapa literal. Um exemplo é como mostrado:

my_map: = map [int] string

O acima cria um mapa vazio.

GO também fornece o método make (), que você pode usar para criar um mapa. O exemplo abaixo cria um mapa vazio de pares de string-float.

my_map: = map [string] float64

Como imprimir um mapa

A operação mais simples que você pode executar com um mapa é imprimi -lo. Para isso, podemos usar o método println no pacote FMT.

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

fmt.Println (my_map)

O código acima deve imprimir o mapa armazenado na variável "my_map". A saída resultante é como mostrado:

mapa [1: a 2: b 3: c 4: d 5: e]

Como iterar sobre as chaves e valores de um mapa

Iterando sobre um mapa significa que obtemos cada par consecutivo de valor-chave no mapa. Podemos fazer isso usando o clássico para loop e o operador de alcance.

Um exemplo é como mostrado:

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

para chave, valor: = alcance my_map
fmt.Printf ("chave: %d Valor: %s \ n", chave, valor)

Em Go, chamar o operador de intervalo em um mapa retorna dois valores: a chave e o valor. O uso do loop for nos permite obter cada chave e valor no mapa.

A saída resultante:

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

Como iterar as chaves apenas em um mapa

Como mencionado, o uso do operador de intervalo sobre um mapa retorna os pares de chave e valor. No entanto, podemos recuperar apenas um valor, como mostrado abaixo:

para chave: = alcance my_map
fmt.Println ("chave:", chave)

O exemplo acima deve retornar apenas as chaves no mapa como:

Chave: 2
Chave: 3
Chave: 4
Chave: 5
Chave: 1

Como iterar valores em um mapa

Da mesma forma, você pode recuperar os valores do mapa usando a sintaxe abaixo:

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

Saída:

Valor: a
Valor: b
Valor: c
Valor: d
Valor: e

Conclusão

Você pode iterar sobre a chave e os valores de um mapa usando o operador de intervalo. Você também pode filtrar e obter apenas as chaves ou valores mostrados neste guia.

Codificação feliz!