|
Maps é o vetor associativo nativo de Go. (também chamado de hashes ou dicts em outras linguagens). |
|
![]()
package main |
|
import "fmt" |
|
func main() { |
|
|
Para criar um map vazio, utilize o comando nativo |
m := make(map[string]int)
|
|
É possível alterar ou criar pares de chave/valor
usando a sintaxe |
m["k1"] = 7
m["k2"] = 13
|
|
Ao imprimir um map com |
fmt.Println("mapa:", m)
|
|
Para selecionar o valor de determinada chave,
usa-se o comando |
v1 := m["k1"]
fmt.Println("valor 1: ", v1)
|
|
O comando nativo |
fmt.Println("len:", len(m))
|
|
O comando nativo |
delete(m, "k2")
fmt.Println("mapa:", m)
|
|
Ao selecionar um determinado valor em um mapa,
existe um segundo retorno opcional, do tipo booleano,
que indica a presença ou ausência de um determinado
par no map. Isto pode ser utilizado para desambiguação
entre chaves ausentes e chaves com valor zero, como
|
_, prs := m["k2"]
fmt.Println("presença da chave:", prs)
|
|
Também é possível declarar e inicializar um novo mapa na mesma linha com a sintaxe a seguir. |
n := map[string]int{"foo": 1, "bar": 2}
fmt.Println("mapa:", n)
}
|
|
Note que os mapas são exibidos na forma |
$ go run maps.go mapa: map[k1:7 k2:13] valor 1: 7 len: 2 mapa: map[k1:7] presença da chave: false mapa: map[bar:2 foo:1] |
Próximo exemplo: Range.