Sobes.tech
Senior

O que podes contar sobre o map em Go?

sobes.tech IA

Resposta da IA

Em Go, um mapa é um tipo de dado incorporado que implementa um array associativo ou dicionário, onde as chaves são associadas a valores.

Características do mapa em Go:

  • As chaves e os valores têm tipos definidos, por exemplo, map[string]int — chaves de string, valores inteiros.
  • O mapa é inicializado usando a função make, por exemplo: m := make(map[string]int).
  • Acesso aos elementos através de m[key].
  • Se a chave não existir, é retornado o valor zero do tipo de valor.
  • Pode verificar a existência de uma chave com o segundo valor de retorno: val, ok := m[key].
  • Os mapas não são ordenados, a ordem de percurso é arbitrária.
  • Os mapas não são seguros para concorrência, para acesso concorrente deve-se usar sincronização.

Exemplo:

package main
import "fmt"

func main() {
    m := make(map[string]int)
    m["apple"] = 5
    m["banana"] = 3

    val, ok := m["apple"]
    if ok {
        fmt.Println("apple:", val)
    }

    // Remover uma chave
    delete(m, "banana")
}