[Pular para o conteúdo principal](#main-content)

[![Logo Bendev](/images/logo-branco.png)](/)

-   [Trabalhos](/projetos)
-   [Sobre](/sobre)
-   [Escrita](/blog)
-   [Aprendizado](/learning)
-   [Referência](/reference)
-   [Imprensa](/entrevistas)
-   [Contato](/contato)

PTENES

[Referência](/reference) / Go

Documentação de Go

# Maps em Go e o padrão comma-ok

Como mapas associam chaves e valores, como inicializá-los e distinguir uma chave ausente de um valor zero.

Revisado em 2026-11-15

## Criar e acessar um map

Um map\[K\]V associa chaves do tipo K a valores do tipo V. make inicializa um map pronto para receber escritas. Um map nil permite leitura, mas não escrita; inicialize-o com make ou um literal antes de salvar elementos.

```
accounts := make(map[string]Account)
accounts["a"] = Account{ID: "a", Balance: 5000}
```

## Distinguir valor zero de chave ausente

Uma leitura devolve o valor zero de V quando a chave não existe. A forma comma-ok também devolve um bool: true quando a chave está presente, mesmo que seu valor seja zero.

```
account, ok := accounts["a"]
if !ok {
    return ErrAccountNotFound
}
```

## Fontes primárias

-   [Go Language Specification — Map types](https://go.dev/ref/spec#Map_types)
-   [Go Blog — Go maps in action](https://go.dev/blog/maps)
-   [Effective Go — Maps](https://go.dev/doc/effective_go#maps)

## Relacionado

-   [Adaptador de saída em memória](/learning/aprendendo-hexagonal-em-go#etapa-adaptador-de-saida)

![Logo Bendev](/images/logo-branco.png)

© 2026 Bendev Junior. Todos os direitos reservados.

### Links Rápidos

-   [Trabalhos](/projetos)
-   [Sobre](/sobre)
-   [Escrita](/blog)
    -   [Livros](/livros)
-   [Imprensa](/entrevistas)
-   [Contato](/contato)

### Redes Sociais

[LinkedIn de Bendev Junior](https://linkedin.com/in/bendevjunior)[GitHub de Bendev Junior](https://github.com/bendevjunior)[Instagram de Bendev Junior](https://instagram.com/bendevoficial)
