Aula 11 – Tutorial Golang – Maps

Aula 11 – Tutorial Golang – Maps

Tutorial Golang - Maps

Tutorial Golang – Maps

Página principal do blog

Todas as aulas desse curso

Aula 10                        Aula 12

Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook

Esse é o link do código fluente no Pinterest

Meus links de afiliados:

Hostinger

Digital Ocean

One.com

Melhore seu NETWORKING

https://digitalinnovation.one/

Participe de comunidades de desenvolvedores:

Fiquem a vontade para me adicionar ao linkedin.

E também para me seguir no https://github.com/toticavalcanti.

Código final da aula:

https://github.com/toticavalcanti

Toti:

https://www.youtube.com/channel/UCUEtjLuDpcOvR3mIUr-viOA

Backing track / Play-along:

https://www.youtube.com/channel/UCT3TryVMqTqYBjf5g5WAHfA

Código Fluente

https://www.youtube.com/channel/UCgn-O-88XBAwdG9gUWkkb0w

Putz!

https://www.youtube.com/channel/UCZXop2-CECwyFYmHbhnAkAw

Aula 11 – Tutorial Golang – Maps

Maps

Map é um tipo de dado associativo integrado do Go, às vezes chamados também de hashes ou dicts em outras línguagens.

Para criar um map vazio, use o make: make (map [key-type] val-type).

Nesse caso, estamos criando um map vazio onde a chave é string e o valor um inteiro.


m := make(map[string]int)

Define os pares de chave/valor usando a sintaxe típica name[chave] = val.


m["k1"] = 7
m["k2"] = 13

Imprime um map com: fmt.Println mostrando todos os seus pares de chave/valor.


fmt.Println("map: ", m)

Saída:

map: map[k1:7 k2:13] 

Obtém um valor para uma chave com nome[chave] e imprime.


v1 := m["k1"]
fmt.Println("v1: ", v1)

Saída:

v1: 7 

A função len() embutida por padrão no Go, retorna o número de pares de chave/valor.


fmt.Println("len: ", len(m))

Saída:

len: 2 

A delete() remove pares de chave/valor de um map.


delete(m, "k2")
fmt.Println("map: ", m)

Saída:

map: map[k1:7] 

O segundo valor de retorno opcional ao obter um valor de um map indica se a key está presente no map.

Isso pode ser usado para eliminar a ambiguidade entre chaves ausentes e chaves com valores zero como: 0 ou “”.

Aqui, não precisamos do valor em si, então o ignoramos com o identificador em branco _.


_, prs := m["k2"]
fmt.Println("prs: ", prs)

Saída:

prs: false 

Você também pode declarar e inicializar um novo map na mesma linha com esta sintaxe.


n := map[string]int{"foo": 1, "bar": 2}
fmt.Println("map: ", n) 

Saída:

map: map[bar:2 foo:1]

Código completo


// _Maps_ are Go's built-in [associative data type](http://en.wikipedia.org/wiki/Associative_array)
// (sometimes called _hashes_ or _dicts_ in other languages).

package main

import "fmt"

func main() {

    // To create an empty map, use the builtin `make`:
    // `make(map[key-type]val-type)`.
    m := make(map[string]int)

    // Set key/value pairs using typical `name[key] = val`
    // syntax.
    m["k1"] = 7
    m["k2"] = 13

    // Printing a map with e.g. `fmt.Println` will show all of
    // its key/value pairs.
    fmt.Println("map: ", m)

    // Get a value for a key with `name[key]`.
    v1 := m["k1"]
    fmt.Println("v1: ", v1)

    // The builtin `len` returns the number of key/value
    // pairs when called on a map.
    fmt.Println("len: ", len(m))

    // The builtin `delete` removes key/value pairs from
    // a map.
    delete(m, "k2")
    fmt.Println("map: ", m)

    // The optional second return value when getting a
    // value from a map indicates if the key was present
    // in the map. This can be used to disambiguate
    // between missing keys and keys with zero values
    // like `0` or `""`. Here we didn't need the value
    // itself, so we ignored it with the _blank identifier_
    // `_`.
    _, prs := m["k2"]
    fmt.Println("prs: ", prs)

    // You can also declare and initialize a new map in
    // the same line with this syntax.
    n := map[string]int{"foo": 1, "bar": 2}
    fmt.Println("map: ", n)
}
 

E pra executar é só entrar na pasta onde tá o arquivo maps.go e digitar:

go run maps.go

É isso pessoal, fico por aqui.

Nos vemos na próxima aula, até mais. 🙂

Página principal do blog

Todas as aulas desse curso

Aula 10                        Aula 12

Se gostarem do conteúdo dêem um joinha 👍 na página do Código Fluente no
Facebook

Esse é o link do código fluente no Pinterest

Meus links de afiliados:

Hostinger

Digital Ocean

One.com

Obrigado e bons estudos. 😉

About The Author
-

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>