A estrutura que associa uma chave à um valor na linguagem
Golang é chamada de Map.
O tipo é formado da seguinte maneira:
map[TIPO_DA_CHAVE]TIPO_DO_VALOR
Por exemplo, para criar um mapa de string
para int
:
map[string]int
A construção acima significa que o map
aceita como chave uma string; essa string é associada à um valor do tipo int.
Imagine que em uma escola, os alunos fazem uma prova e recebem uma nota como resultado. Podemos associar o nome de cada aluno ao valor de sua nota dessa maneira:
var notas map[string]int
notas = make(map[string]int)
notas["Ana"] = 9
notas["Maria"] = 10
// e assim por diante...
A primeira linha do exemplo acima declara uma variável para armazenar um map de string
para int
.
Logo em seguida, criamos o map usando a função make. Vale a pena lembrar que make
também é usado para criar slices (fatias de array). Nesse caso, usamos o make
para criar um map que associa uma string
à um valor int
.
As linhas que seguem associam o nome de cada estudante ao valor da nota recebida na prova. A notação para adicionar ou atualizar um par de chave-valor em Golang é, em geral:
notas[CHAVE] = VALOR
Podemos também acessar o valor correspondente a chave assim:
fmt.Println(notas["Maria"]) // => 10
Mas temos que tomar cuidado porque pode ser que a chave não exista no Map, em cujo caso o valor zero do tipo do valor associado é retornado:
fmt.Println(notas["Estudante Que Nao Existe"]) // => 0
A chave mapeia para um valor do tipo int
, cujo valor zero é 0
.
Há uma maneira de checar se a chave existe antes se referenciar o seu valor. Para aprender mais sobre a estrutura Map na linguagem Golang, assista às aulas do NBK Mundo Tech: