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.