Mostrando postagens com marcador map. Mostrar todas as postagens
Mostrando postagens com marcador map. Mostrar todas as postagens

quinta-feira, 25 de outubro de 2018

Programando em Go (Golang) - Map

table, th, td { border: 1px solid black; } O mapa em golang assim como em outras linguagem é uma estrutura de dados onde é guardado um chave e um valor referente a mesma chave.

Exemplo:





O valor zero do mapa é considerado nulo (nil) e sendo assim não é possível adicionar novas chaves e valores no mesmo.


Criação de um mapa

Para criarmos um mapa utilizamos a sintaxe abaixo:

nome_mapa = make (map[tipo_chave]tipo_valor)

Onde:


nome_mapa - Nome do mapa a ser criado.
tipo_chave - Tipo de chave do mapa a ser criado
tipo_valor - Tipo do valor que será referenciado pela chave.


Adição de valores 

Para adicionar um valor a um mapa basta utilizar a sintaxe:

nome_mapa[nome_chave]=valor

Onde:

nome_mapa - Nome do mapa a ser criado.
nome_chave - Nome da chave referência do mapa
valor - Valor a ser referenciado pela chave.

Acesso a um valor 

Para acessarmos o conteúdo de uma chave do mapa basta utilizar a sintaxe abaido:

nome_mapa[nome_chave]

Onde:

nome_mapa - Nome do mapa a ser criado.
nome_chave - Nome da chave referência do mapa

Exemplo:

package main
import "fmt"

func main(){

  //Criação do mapa
  m:=make(map[string]string)

  //Adição de valores
  m["nome"]="Mario"
  m["cpf"]="333.213.333-35"
  
  //Acesso a um valor
  fmt.Println(m["cpf"])

}


Saída do programa acima:




Criação rapida (literal)

Para criarmos um mapa utilizamos a sintaxe abaixo:

nome_mapa = map[tipo_chave]tipo_valor{
chave_1:valor_1, chave_2:valor_2
}

Onde:


nome_mapa - Nome do mapa a ser criado.
tipo_chave - Tipo de chave do mapa a ser criado
tipo_valor - Tipo do valor que será referenciado pela chave.
chave_1 - Nome da  chave_1
valor_1 - Valor da chave_1

Exemplo:

package main

import "fmt"

func main(){

  //Criação do mapa
  m:=map[string]string{"nome":"Mario", "cpf":"333.213.333-35"}

  //Acesso a um valor
  fmt.Println(m["cpf"])

}


Deletando um valor do mapa

Para deletar um valor do mapa utilizamos a função delete

Sintaxe:

delete(nome_mapa,chave)

Onde:

nome_mapa - Nome do mapa a ter um item deletado
chave - Nome da chave a ser deletada.


Verificação de existência chave


Há caso que é necessário verificar se um elemento existe em um determinado mapa para isso usa sintaxe abaixo:


valor,verificador=nome_mapa[chave]


Onde:


valor - Valor da chave referenciado pela chave
verificador - Nome da variável que receberá o valor true (existe elemento) ou false (não existe o elemento)


Exemplo:


package main

import "fmt"

func main(){

  //Criação do mapa

  m:=map[string]string{"nome":"Mario", "cpf":"333.213.333-35"}

  //Acesso a um valor

  fmt.Println(m["cpf"])

  //Verificação da existencia do elemento
  valor,ok := m["cpf"]
  fmt.Println("O elemento[cpf] valor= ",valor," existe ? ",ok)

  //Remoção da chave cpf
  delete(m,"cpf")
  
  //Verificação da existencia do elemento
  valor,ok = m["cpf"]

  fmt.Println("O elemento[cpf] valor= ",valor," existe ? ",ok)


}




Abaixo é possível ver o resultado da execução do programa acima:




Voltar para menu