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 formatadahtml, pacote de operações de modelo htmlnet, pacote que fornece uma série de operações de rede, muito poderosoflag, pacote de análise de parâmetros de linha de comandoreflect, pacote de operações de reflexãolog, pacote de log integradosort, pacote de operações de ordenaçãoregex, pacote de expressões regularesimage, pacote de operações de imagemtime, pacote de operações de tempounicode, pacote de operações do conjunto de caracteres unicodeunsafe, fornece operações de ponteiro sem limitações de tiposyscall, pacote de chamadas de sistema fornecidas pelo sistema operacionaltesting, pacote de testes, usado principalmente ao escrever testessync, pacote de operações de concorrênciacontext, pacote de contextostrconv, pacote de conversão de stringsstrings, pacote de operações de stringsbytes, pacote de operações de slice de bytesmaps, pacote de operações de mapslices, pacote de operações de sliceio, define uma série de interfaces IO básicas, comoCloser,Writercomumente usados, e também algumas funções básicas de operações IOio/fs, define uma série de interfaces de sistema de arquivos, é uma abstração do sistema de arquivosos, 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 acimaos/signal, pacote de sinais do sistema operacional, usado para ouvir sinais do sistema operacional, principalmente usado para implementar o fechamento elegante do programaos/exec, pacote de comandos do sistema operacional, usado para executar comandos do sistema operacionalos/user, pacote de usuário do sistema operacional, usado para obter informações de usuário do sistema operacionalbufio, pacote de leitura e escrita de IO com bufferpath, pacote para lidar com caminhos separados por barras, como urlpath/filepath, pacote para lidar com caminhos de arquivosmath, pacote de operações matemáticasmath/bits, pacote de operações de bitsmath/cmplx, pacote de operações de números complexos, também fornece algumas funções utilitárias de trigonometriamath/rand, pacote de números pseudoaleatóriosmath/big, pacote de cálculos de alta precisão para números grandescontainer/heap, implementação de heap mínimocontainer/list, implementação de lista duplamente encadeadacontainer/ring, implementação de anelarchive/zip, pacote de arquivamento de compressão ziparchive/tar, pacote de arquivos de arquivamento tarcompress, pacote de implementação de algoritmos de compressão, como gzip, flatedatabase/sql, pacote para interagir com banco de dadosencoding, pacote para lidar com codificação, possui muitos sub-pacotes, comojson,xml, e tambémbase64crypto, 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 Gogo/parser, pacote para analisar o código-fonte Go em árvore sintática abstratago/importer, fornece acesso ao importadorgo/format, pacote de formatação da linguagem Goarena, fornece funcionalidade de alocação e liberação manual de memória, em fase experimentalruntime, pacote de operações de tempo de execução, muitas operações em Go são implementadas por este pacote
