Skip to content

Introdução à Biblioteca Padrão Go

Ao escrever este artigo, a versão de distribuição do Go já chegou à 1.21, e já se passou mais de um ano desde que este site foi estabelecido.

A biblioteca padrão da linguagem Go é muito rica (exceto estruturas de dados) e também muito poderosa. A API é muito amigável para os desenvolvedores, e ser capaz de usar proficientemente a biblioteca padrão será de grande ajuda para o desenvolvimento diário. Por exemplo, você pode desenvolver um projeto Web independente e completo sem qualquer dependência externa, usando apenas as três bibliotecas net/http, html/template e database/sql.

O conteúdo da biblioteca padrão não foi atualizado por um tempo porque há realmente muito conteúdo. Portanto, abaixo farei um resumo simples das funções das bibliotecas padrão mais comumente usadas, para que você possa escolher as que lhe interessam para aprender. O comentário de nível de pacote de cada biblioteca padrão detalhará para que serve esse pacote.

  • fmt, pacote para lidar com entrada e saída formatada
  • html, pacote de operações de modelo html
  • net, pacote que fornece uma série de operações de rede, muito poderoso
  • flag, pacote de análise de parâmetros de linha de comando
  • reflect, pacote de operações de reflexão
  • log, pacote de log integrado
  • sort, pacote de operações de ordenação
  • regex, pacote de expressões regulares
  • image, pacote de operações de imagem
  • time, pacote de operações de tempo
  • unicode, pacote de operações do conjunto de caracteres unicode
  • unsafe, fornece operações de ponteiro sem limitações de tipo
  • syscall, pacote de chamadas de sistema fornecidas pelo sistema operacional
  • testing, pacote de testes, usado principalmente ao escrever testes
  • sync, pacote de operações de concorrência
  • context, pacote de contexto
  • strconv, pacote de conversão de strings
  • strings, pacote de operações de strings
  • bytes, pacote de operações de slice de bytes
  • maps, pacote de operações de map
  • slices, pacote de operações de slice
  • io, define uma série de interfaces IO básicas, como Closer, Writer comumente usados, e também algumas funções básicas de operações IO
  • io/fs, define uma série de interfaces de sistema de arquivos, é uma abstração do sistema de arquivos
  • os, pacote de interação com o sistema operacional, fornece uma série de funções concretas, pode ser simplesmente entendido como a implementação concreta dos dois acima
  • os/signal, pacote de sinais do sistema operacional, usado para ouvir sinais do sistema operacional, principalmente usado para implementar o fechamento elegante do programa
  • os/exec, pacote de comandos do sistema operacional, usado para executar comandos do sistema operacional
  • os/user, pacote de usuário do sistema operacional, usado para obter informações de usuário do sistema operacional
  • bufio, pacote de leitura e escrita de IO com buffer
  • path, pacote para lidar com caminhos separados por barras, como url
  • path/filepath, pacote para lidar com caminhos de arquivos
  • math, pacote de operações matemáticas
  • math/bits, pacote de operações de bits
  • math/cmplx, pacote de operações de números complexos, também fornece algumas funções utilitárias de trigonometria
  • math/rand, pacote de números pseudoaleatórios
  • math/big, pacote de cálculos de alta precisão para números grandes
  • container/heap, implementação de heap mínimo
  • container/list, implementação de lista duplamente encadeada
  • container/ring, implementação de anel
  • archive/zip, pacote de arquivamento de compressão zip
  • archive/tar, pacote de arquivos de arquivamento tar
  • compress, pacote de implementação de algoritmos de compressão, como gzip, flate
  • database/sql, pacote para interagir com banco de dados
  • encoding, pacote para lidar com codificação, possui muitos sub-pacotes, como json, xml, e também base64
  • crypto, pacote para lidar com criptografia, possui muitos sub-pacotes, como sha1, rsa, etc.
  • go/ast, pacote de mapeamento da árvore sintática abstrata do código-fonte Go
  • go/parser, pacote para analisar o código-fonte Go em árvore sintática abstrata
  • go/importer, fornece acesso ao importador
  • go/format, pacote de formatação da linguagem Go
  • arena, fornece funcionalidade de alocação e liberação manual de memória, em fase experimental
  • runtime, pacote de operações de tempo de execução, muitas operações em Go são implementadas por este pacote

Golang por www.golangdev.cn edit