Summary
Resumo da Aula sobre Maps em Go
Nesta aula, aprendemos sobre maps, uma estrutura de dados que permite associar chaves a valores em pares de chave-valor. Essa estrutura é similar ao que se conhece em outras linguagens como:
- JavaScript: objetos
- Ruby: hashes
- Python: dicionários
- Java: hash maps
Exemplo Prático
Vamos considerar um exemplo na linguagem Go, onde temos alunos em uma escola que realizam testes e recebem notas que variam de 0 a 10. Vamos criar um mapa para associar o nome de cada aluno com sua respectiva nota.
Declaração do Mapa
-
Declaração da variável:
var notas map[string]int
- Aqui,
string
é o tipo da chave (nome do aluno) e int
é o tipo do valor (nota).
-
Criação do Mapa:
Para criar o mapa, utilizamos a função make
:
notas = make(map[string]int)
Modificando o Mapa
Para associar valores ao mapa, usamos a seguinte sintaxe:
Agora, o mapa contém as associações:
Imprimindo Valores
Podemos usar println
para imprimir o mapa e verificar suas associações:
println(notas)
Esse resumo abrange os principais conceitos apresentados na aula sobre o uso de maps em Go, incluindo definição, modificação e impressão de elementos do mapa.
Video Transcript
Nesta aula nós vamos aprender sobre maps, mapas, que é uma estrutura que nos permite
mapear uma certa chave a um certo valor.
Então sempre vai ver as coisas em pares de chave e valor.
A chave também às vezes se chama de propriedade.
Se você vem do JavaScript, é a mesma coisa, quase a mesma coisa que um objeto, né?
Se você vem da linguagem Ruby, é o chamado hash.
Se você vem de outras linguagens também você tem ouvido falar de um dicionário ou
uma array associativa ou até o hash map, né?
Então vamos começar aqui com um exemplo para a gente aprender o que é esse map, né?
Na linguagem Go.
Nós supomos que a gente tem um exemplo e você quer associar a cada nome de um certo
aluno, por exemplo.
Nós estamos numa escola, temos vários alunos, os alunos fazem o teste, né?
Fazem a prova e recebem a sua nota, nota de zero a dez, por exemplo.
Então a gente pode associar o nome do aluno, o valor da nota, vamos supor que é só um
valor inteiro, tá?
De zero a dez.
Então temos aqui, vamos fazer um mapa, tá?
Para associar o nome do aluno e o valor da nota que aquele aluno ou aluna obteu.
Então vamos começar com uma variável aqui que eu vou chamar de notas.
Qual vai ser o tipo desse?
Então vamos fazer o map, vamos dizer map, tá?
Agora a gente tem que dizer como a gente vai indexar esse map.
Qual vai ser o tipo da chave, né?
A chave que nos permite encontrar o valor associado àquela chave.
Então nesse caso vai ser o nome do aluno que vai ser um stream.
Tem que pôr dentro de coxetes, tá?
E depois disso você põe o valor que vai ser associado à sua chave.
Nesse caso eu vou, vai ser a nota de zero a dez, eu vou só usar um valor inteiro,
então int, tá?
Então temos aqui a declaração de uma variável chamada notas.
Qual é o tipo?
O tipo é map de string para int, tá?
Então esse map vai ser indexado para o string, significa que a chave, né, a propriedade
vai ter o valor string e essa propriedade ou chave vai ser associada a um valor do tipo
int.
Tá?
Agora vamos aqui definir ou criar finalmente.
Que a gente só declarou uma variável, mas ainda não criou aquele map.
Para poder criar maps vamos usar o método make, tá?
Função make, se lembra?
A gente já usou a função make para fazer slice fatias.
Agora a gente vai usar make para poder fazer um map.
Então eu vou definir notas, tá?
Com a chamada do make, essa função make para poder criar um mapa, map.
O make vai levar como argumento o tipo, né?
Para poder saber, ela poder saber o que é que você quer criar, o que é que você quer
make.
Então nesse caso vai ser um map, indexado para o string, o valor associado a um map.
Então map de string para int, criamos o map finalmente.
Agora a gente pode modificar esse map.
Por exemplo, só como comentário, eu quero associar o aluno Ana com a nota 9, eu quero
associar a Luna Maria com a nota 10 e assim por diante, tá?
Então vamos fazer só esses primeiros exemplos.
Vamos fazer isso.
Vamos aqui.
Deixe-me comentar aqui.
Vamos fazer o seguinte, para poder modificar o map é só dizer o nome da variável, abre
os coxetes e o nome da chave.
Ah, nesse caso para Ana, eu quero associar o valor, uso igual, 9, tá?
Então ele vai pegar o mapa, notas, adicionar uma propriedade ou chave chamada Ana, cujo
valor vai ser 9.
Então toda vez que você referir a nota da Ana, o valor será 9.
E a mesma coisa a gente pode fazer com Maria.
Então, que tal você tentar associar Maria com o valor 10?
Só digitar o nome da variável, abre coxete.
A string, nesse caso, se lembra que é o map de string, tá?
Então tem que ser string, Maria.
Vamos associar Maria com a nota 10, que é int, tá?
E com isso a gente cria esse map que tem agora duas associações de Ana para a nota 10.
Para dois pares, Ana 9 e Maria 10.
A gente agora pode usar o println para poder imprimir o valor das coisas dentro desse mapa.
Por exemplo, vamos ver aqui o que acontece se eu só der notas.