Sobes.tech
Junior — Middle

Podes descrever as principais características e particularidades do uso de chaves em estruturas de dados Map?

sobes.tech IA

Resposta da IA

Na linguagem Go (Golang), map é um tipo de dado incorporado que representa um array associativo ou dicionário, que armazena pares chave-valor.

Características principais das chaves em map:

  • O tipo de chave deve ser comparável: as chaves devem suportar a operação de comparação ==. Isso significa que as chaves podem ser tipos como strings, números, ponteiros, estruturas, desde que todos os seus campos sejam comparáveis.
  • Não é possível usar slices, mapas ou funções como chaves, pois eles não são comparáveis.
  • As chaves são únicas: em um mesmo mapa, não pode haver duas chaves iguais.

Exemplo de criação e uso de um map com chaves do tipo string:

package main
import "fmt"

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

    fmt.Println(m["apple"]) // Imprime 5

    // Verificação de existência de chave
    val, ok := m["pear"]
    if !ok {
        fmt.Println("Chave 'pear' não encontrada")
    } else {
        fmt.Println(val)
    }
}

Portanto, ao usar chaves em map, é importante escolher tipos que suportem comparação para evitar erros de compilação.