Maps são tipos de dados associativos padrões no Go (às vezes chamados de hashes ou dicionários em outras linguagens). |
|
package main
|
|
import "fmt"
|
|
func main() {
|
|
Para criar um map vazio, use o padrão |
m := make(map[string]int)
|
Configura os pares chave/valor usando a típica sintaxe
|
m["k1"] = 7
m["k2"] = 13
|
Imprimir um map com, por ex. |
fmt.Println("map:", m)
|
Pega o valor para uma chave |
v1 := m["k1"]
fmt.Println("v1: ", v1)
|
O padrão |
fmt.Println("len:", len(m))
|
O padrão |
delete(m, "k2")
fmt.Println("map:", m)
|
O segundo opcional, retorna um valor quando chega o
valor de um map, indicando que a chave estava presente
em um map. Isso pode ser usado para distinguir entre as
chaves perdidas e as chaves com valor zero, como
|
_, prs := m["k2"]
fmt.Println("prs:", prs)
|
Você pode também declarar e iniciar um novo map na mesma linha com essa sintaxe. |
n := map[string]int{"foo": 1, "bar": 2}
fmt.Println("map:", n)
}
|
Note que o maps aparece na forma |
$ go run maps.go
map: map[k1:7 k2:13]
v1: 7
len: 2
map: map[k1:7]
prs: false
map: map[foo:1 bar:2]
|
Próximo exemplo: Range.