Golang: Maps (Parte - 7)

Golang

Aqui nada muito diferente que temos em outras linguagens.

Maps é o que chamamos de dicionário, ou hash table, onde temos uma chave e um valor. A chave é única e o valor pode ser acessado através dela.

No exemplo abaixo, estou declarando um map com o nome salarios, onde a chave é do tipo string e o valor é do tipo int.

Depois disso, estou removendo o elemento Lucas do map e imprimindo o resultado.

Logo após, estou iterando sobre o map e imprimindo os valores. Mostro duas formas de fazer isso. Uma onde imprimo a chave e o valor, e outra onde imprimo apenas o valor.

Só você tem um ambiente em Go, só copiar e colar o código abaixo e executar.

package main
import "fmt"

func main() {

    salarios := map[string]int{"Wesley": 1000, "Lucas": 2000, "Tinta": 3000}
    delete(salarios, "Lucas")
    fmt.Println(salarios) // Saída: map[Wesley:1000 Tinta:3000]

    for nome, salario := range salarios {
        fmt.Printf("Nome: %s, Salário: %d\n", nome, salario)
    }
    // Saída:
    // Nome: Wesley, Salário: 1000
    // Nome: Tinta, Salário: 3000

    for _, salario := range salarios {
        fmt.Printf("Salário: %d\n", salario)
    }
    // Saída:
    // Salário: 1000
    // Salário: 3000
}

É possível criar um map vazio, e depois adicionar os elementos a ele. No exemplo abaixo, estou criando um map vazio e adicionando os elementos a ele.

package main
import "fmt"

func main() {

    // Criando um mapa
    m := make(map[string]int)
    // ou
    // m := map[string]int{}

    // Adicionando elementos ao mapa
    m["um"] = 1
    m["dois"] = 2
    m["três"] = 3

    // Acessando elementos do mapa
    fmt.Println("Valor de 'um':", m["um"]) // Saída: Valor de 'um': 1

    // Verificando se uma chave existe
    if valor, existe := m["quatro"]; existe {
        fmt.Println("Valor de 'quatro':", valor)
    } else {
        fmt.Println("'quatro' não existe no mapa")
    }

    // Removendo um elemento do mapa
    delete(m, "dois")
    fmt.Println("Mapa após remover 'dois':", m) // Saída: Mapa após remover 'dois': map[três:3 um:1]
}

Se você tem noção de linguagens de programação, já deve ter visto isso em outras linguagens.

Por enquanto, simples! Funções ver como são as funções em Go.