Golang: Maps (Parte - 7)
Aqui nada muito diferente que temos em outras linguagens.
Maps é o que chamamos de dicionário, ou hash table, onde temos uma chave e um valor. A chave é única e o valor pode ser acessado através dela.
No exemplo abaixo, estou declarando um map com o nome salarios
, onde a chave é do tipo string
e o valor é do tipo int
.
Depois disso, estou removendo o elemento Lucas
do map e imprimindo o resultado.
Logo após, estou iterando sobre o map e imprimindo os valores. Mostro duas formas de fazer isso. Uma onde imprimo a chave e o valor, e outra onde imprimo apenas o valor.
Só você tem um ambiente em Go, só copiar e colar o código abaixo e executar.
package main
import "fmt"
func main() {
salarios := map[string]int{"Wesley": 1000, "Lucas": 2000, "Tinta": 3000}
delete(salarios, "Lucas")
fmt.Println(salarios) // Saída: map[Wesley:1000 Tinta:3000]
for nome, salario := range salarios {
fmt.Printf("Nome: %s, Salário: %d\n", nome, salario)
}
// Saída:
// Nome: Wesley, Salário: 1000
// Nome: Tinta, Salário: 3000
for _, salario := range salarios {
fmt.Printf("Salário: %d\n", salario)
}
// Saída:
// Salário: 1000
// Salário: 3000
}
É possível criar um map vazio, e depois adicionar os elementos a ele. No exemplo abaixo, estou criando um map vazio e adicionando os elementos a ele.
package main
import "fmt"
func main() {
// Criando um mapa
m := make(map[string]int)
// ou
// m := map[string]int{}
// Adicionando elementos ao mapa
m["um"] = 1
m["dois"] = 2
m["três"] = 3
// Acessando elementos do mapa
fmt.Println("Valor de 'um':", m["um"]) // Saída: Valor de 'um': 1
// Verificando se uma chave existe
if valor, existe := m["quatro"]; existe {
fmt.Println("Valor de 'quatro':", valor)
} else {
fmt.Println("'quatro' não existe no mapa")
}
// Removendo um elemento do mapa
delete(m, "dois")
fmt.Println("Mapa após remover 'dois':", m) // Saída: Mapa após remover 'dois': map[três:3 um:1]
}
Se você tem noção de linguagens de programação, já deve ter visto isso em outras linguagens.
Por enquanto, simples! Funções ver como são as funções em Go.