Janeiro 2026 · ~9 min

Documentação Go em Português: Como Ler, Buscar e Usar no Dia a Dia

Documentação Go em português: aprenda a usar go.dev, pkg.go.dev, go doc e go help, conferir versões e encontrar exemplos oficiais com rapidez.

Resposta rápida: use go.dev/doc para guias oficiais, especificação e notas de versão; pkg.go.dev para consultar pacotes, tipos, funções e exemplos; go doc para ler a documentação da versão instalada no terminal; e go help para entender comandos como go test, go build e go mod. Se uma resposta de blog ou IA divergir da referência, confirme na documentação da versão usada pelo seu projeto.

A documentação Go é uma das maiores vantagens da linguagem. Go foi desenhada para ter uma biblioteca padrão forte, comandos consistentes e uma cultura de exemplos pequenos. Em vez de depender de dezenas de posts desatualizados, você consegue resolver muita coisa lendo a referência oficial, executando exemplos e consultando o próprio toolchain.

O problema para quem está começando é saber onde procurar. Existe go.dev/doc, existe pkg.go.dev, existe go doc, existem páginas do blog oficial, propostas, issues, release notes e exemplos embutidos nos pacotes. Este guia organiza esse mapa em português: o que cada fonte resolve, como pesquisar melhor, como conferir a versão documentada e como transformar referência em código testado.

Se você ainda está no início da trilha, comece pelo tutorial Go em português e pelo guia Go para iniciantes. Depois volte aqui para aprender a usar a documentação como ferramenta diária.

O mapa rápido da documentação Go

Use esta regra simples:

Sua dúvidaOnde procurar primeiroExemplo
Como a linguagem funciona?go.dev/doc e especificaçãointerfaces, generics, modelo de memória
Como usar um pacote?pkg.go.devnet/http.Client, json.Decoder
O que existe na versão instalada?go docgo doc net/http.Server
Como funciona um comando?go helpgo help testflag
O que mudou em uma versão?release notes em go.dev/docmudanças de linguagem e standard library
Por que um recurso foi desenhado assim?Go Blog, proposals e issuescontexto, compatibilidade e trade-offs

Na prática, pkg.go.dev responde “como uso este pacote?”; go help responde “como uso este comando?”; e go.dev/doc responde “qual é o modelo mental correto da linguagem?”. Para comportamento sensível à versão, compare a página online com go version, go.mod e go doc no projeto.

Como usar pkg.go.dev sem se perder

O pkg.go.dev é a referência de pacotes do ecossistema Go. Para qualquer pacote, ele mostra documentação, tipos exportados, funções, métodos, exemplos, versão do módulo, licença e import path.

Exemplo: ao abrir pkg.go.dev/net/http, você encontra:

  • o caminho correto de importação: import "net/http";
  • funções como ListenAndServe, HandleFunc e NewRequest;
  • tipos como Client, Request, Response, Handler e Server;
  • exemplos executáveis quando o pacote tem testes de exemplo;
  • links para o código-fonte.

O ponto mais importante: em Go, nomes com letra maiúscula são exportados. A documentação pública mostra principalmente funções, tipos e métodos exportados. Se você não encontra uma função na documentação, talvez ela seja interna ao pacote ou não faça parte da API pública.

Quando pesquisar, prefira consultas específicas:

site:pkg.go.dev net/http Client timeout
site:pkg.go.dev encoding/json Decoder DisallowUnknownFields
site:pkg.go.dev context WithTimeout example

Isso evita cair em respostas genéricas e leva direto para a referência.

Confira a versão do pacote antes de copiar

O pkg.go.dev pode mostrar a versão mais recente de um módulo, enquanto seu projeto usa outra. Antes de aplicar um exemplo, confira o módulo selecionado na página e compare com o projeto:

go version
go list -m all
go list -m -json exemplo.com/modulo

Na standard library, o comportamento acompanha a versão do toolchain. Em dependências externas, leia a documentação da versão declarada no go.mod, não apenas a versão mais nova. Se uma função aparece no site mas o compilador diz undefined, a primeira suspeita deve ser diferença de versão.

Para APIs adicionadas recentemente, procure a indicação “added in” no pkg.go.dev e confira as release notes. Para dependências, abra também o link Source Files: comentários, testes e implementação esclarecem contratos que um snippet isolado não mostra.

go doc: documentação direto no terminal

O comando go doc é subestimado. Ele permite consultar documentação sem abrir o navegador:

go doc fmt
go doc fmt.Println
go doc net/http.Client
go doc context.WithTimeout

Para listar mais detalhes de um pacote:

go doc -all net/http

Para ver código-fonte junto da documentação:

go doc -src strings.Builder

Esse fluxo é ótimo quando você está programando e quer confirmar assinatura, comentário ou comportamento sem quebrar o ritmo. Como consulta o código disponível no seu ambiente, ele também reduz o risco de ler documentação de uma versão diferente.

Combine com estes comandos:

go list -f '{{.Doc}}' net/http       # resumo do pacote
go list -f '{{.Dir}}' net/http       # diretório do código-fonte
go env GOROOT                        # raiz da instalação do Go
go env GOPATH                        # cache e workspace padrão
go test ./...                         # valida o uso no projeto

No editor, o gopls usa essas mesmas informações para exibir comentários em hover, completar símbolos, navegar para definições e localizar referências. O hover é uma consulta rápida; para detalhes sobre concorrência, erros, efeitos colaterais e compatibilidade, abra a documentação completa.

Pacotes da standard library que todo iniciante deve conhecer

A biblioteca padrão é grande, mas você não precisa ler tudo. Para ser produtivo em backend, CLI e automação, comece por estes pacotes:

PacotePara que serve
fmtformatação de strings e saída no terminal
stringsmanipulação de texto
strconvconversão entre strings e números
errorscriação e comparação de erros
contextcancelamento, timeout e escopo de requisição
net/httpservidores e clientes HTTP
encoding/jsonleitura e escrita de JSON
timedatas, durações, timers e deadlines
osarquivos, variáveis de ambiente e processos
ioleitura e escrita por streams
testingtestes unitários e benchmarks
log/sloglogs estruturados para produção

Depois aprofunde conforme o projeto: database/sql para banco de dados, sync para concorrência, regexp para expressões regulares, embed para arquivos embutidos e flag para CLIs.

Documentação dos comandos Go

A documentação da linguagem não é só pacote. O toolchain também é parte central do dia a dia. Estes comandos aparecem em quase todo projeto:

go mod init exemplo.com/app   # cria um módulo
go mod tidy                   # sincroniza dependências
go run .                      # executa o programa
go test ./...                 # roda testes
go fmt ./...                  # formata código
go vet ./...                  # aponta problemas suspeitos
go build ./...                # compila pacotes

Para entender um comando em detalhe, use:

go help mod
go help testflag
go help build
go help packages

Se o seu problema é dependência, leia também Go Modules na prática. Se é teste, vá para testes em Go e depois para TDD e CI/CD com Go.

Como ler documentação quando você ainda não sabe inglês técnico

A documentação oficial de Go é majoritariamente em inglês. Você não precisa traduzir palavra por palavra. Procure os padrões:

  • Package: explica a finalidade do pacote.
  • func: função exportada.
  • type: tipo exportado, como struct ou interface.
  • method: função ligada a um tipo.
  • Example: exemplo executável.
  • Deprecated: API antiga; evite em código novo.
  • Since: versão do Go em que aquele recurso apareceu.

Quando encontrar um pacote novo, leia nesta ordem:

  1. parágrafo inicial do pacote;
  2. exemplos;
  3. tipos principais;
  4. funções de criação, como NewClient, NewRequest ou NewEncoder;
  5. notas de erro, concorrência e compatibilidade.

Esse método funciona melhor do que tentar memorizar tudo. Go favorece APIs pequenas; a documentação fica mais útil quando você lê com um problema concreto em mãos.

Exemplo prático: descobrindo como fazer uma requisição HTTP

Imagine que você quer chamar uma API externa. Em vez de procurar um tutorial aleatório, vá ao pacote net/http e procure por Client, NewRequestWithContext e Do.

Um esqueleto seguro fica assim:

package main

import (
    "context"
    "fmt"
    "net/http"
    "time"
)

func main() {
    ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
    defer cancel()

    req, err := http.NewRequestWithContext(ctx, http.MethodGet, "https://example.com", nil)
    if err != nil {
        panic(err)
    }

    client := &http.Client{Timeout: 10 * time.Second}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    fmt.Println(resp.StatusCode)
}

A documentação mostra as peças; a prática junta contexto, timeout, cliente e tratamento de erro. Para transformar isso em uma aplicação completa, siga o guia de API REST com Go.

Como avaliar um exemplo oficial

Exemplos do pkg.go.dev normalmente vêm de funções Example nos arquivos _test.go. Eles têm uma vantagem importante: podem ser compilados e executados por go test, o que reduz a chance de ficarem quebrados silenciosamente.

Ao encontrar um exemplo útil, siga este fluxo:

  1. confirme o import path e a versão;
  2. abra o exemplo completo, não apenas a linha destacada;
  3. observe se há defer, fechamento de recursos e tratamento de erro;
  4. adapte nomes e dados, preservando o contrato da API;
  5. escreva um teste pequeno no seu módulo;
  6. rode go test ./... e, quando aplicável, go vet ./....

Para aprender a escrever exemplos que também viram documentação, crie uma função ExampleNome em um arquivo _test.go e inclua uma seção // Output: quando a saída for determinística:

func ExampleSaudacao() {
	fmt.Println(Saudacao("Gopher"))
	// Output: Olá, Gopher!
}

Esse padrão conecta documentação e teste executável. Para uma estratégia mais ampla, veja testes em Go e table-driven tests.

Checklist de documentação antes de copiar código

Antes de copiar um snippet de blog, GitHub ou IA, cheque:

  • o pacote ainda é mantido?
  • a função está marcada como Deprecated?
  • a API existe na versão de Go ou do módulo que você usa?
  • o exemplo trata erro?
  • há timeout ou cancelamento quando envolve rede?
  • há teste ou exemplo oficial parecido?
  • o import path é o mesmo do módulo atual?
  • o tipo é seguro para uso concorrente?
  • o chamador precisa fechar, cancelar ou liberar algum recurso?

Esse checklist evita bugs comuns: cliente HTTP sem timeout, erro ignorado, pacote antigo, dependência desnecessária, recurso não fechado e uso de API experimental sem perceber.

Perguntas frequentes

Onde fica a documentação oficial de Go?

Os guias oficiais, a especificação, as release notes e os tutoriais ficam em go.dev/doc. A referência pesquisável de pacotes da standard library e de módulos públicos fica em pkg.go.dev. No terminal, use go doc e go help.

A documentação Go existe em português?

Parte do material introdutório, como o Tour of Go, possui tradução, mas a referência oficial é majoritariamente em inglês. Você não precisa traduzir tudo: identifique pacote, tipo, função, parâmetros, retorno, erros, exemplos e avisos de compatibilidade. Este guia funciona como mapa em português para a fonte oficial.

Qual documentação devo ler primeiro para aprender Go?

Comece pelo Tour of Go, depois consulte pacotes conforme constrói algo: fmt, strings, errors, context, net/http, encoding/json, testing e log/slog. Para o toolchain, aprenda go help mod, go help testflag, go fmt, go vet e go test.

Como saber se a documentação corresponde à minha versão?

Rode go version para a standard library e go list -m all para dependências. No pkg.go.dev, confirme a versão selecionada do módulo. Se a API online não compila localmente, compare a versão em que ela foi adicionada com o go.mod e o toolchain usados pelo projeto.

Próximo passo

Use a documentação como parte da rotina: escreva código, leia a assinatura, rode teste, ajuste. Para continuar a trilha em português, siga estes caminhos:

A documentação Go é curta por design. Quanto mais você usa pkg.go.dev, go doc e go help, menos depende de receitas soltas e mais rápido consegue ler código Go real em empresas brasileiras.


Última atualização: Julho de 2026 — revisão de versões, exemplos executáveis, gopls e fluxo de consulta da documentação oficial.

Perguntas frequentes

Onde fica a documentação oficial de Go?

A documentação oficial fica em go.dev/doc e a referência de pacotes fica em pkg.go.dev. Para consultar pelo terminal, use go doc seguido do pacote, tipo ou função.

A documentação Go existe em português?

A documentação oficial é majoritariamente em inglês, mas este guia organiza o caminho em português e aponta os termos que você precisa reconhecer para ler a referência oficial com segurança.

Qual documentação devo ler primeiro para aprender Go?

Comece por go.dev/tour, depois leia fmt, strings, slices, maps, net/http, context, errors, testing e os comandos go mod, go test, go fmt e go vet.