Incrível ir
Usamos a comunidade Golang Bridge Slack para comunicação instantânea, siga o formulário aqui para participar.
Patrocínios:
Agradecimentos especiais a
Seu aplicativo pronto para uso empresarial. Comece a vender para clientes empresariais com apenas algumas linhas de código. Adicione logon único (e mais) em minutos, em vez de meses. |
|
O Awesome Go não tem mensalidade , mas temos funcionários que trabalham duro para mantê-lo funcionando. Com o dinheiro arrecadado podemos retribuir o esforço de cada pessoa envolvida! Você pode ver como calculamos nosso faturamento e distribuição, pois é aberto a toda a comunidade. Quer ser um apoiador do projeto clique aqui.
Uma lista selecionada de estruturas, bibliotecas e softwares Go incríveis. Inspirado em incrível python.
Contribuindo:
Por favor, dê uma olhada rápida nas diretrizes de contribuição primeiro. Obrigado a todos os contribuidores; você é demais!
Se você encontrar um pacote ou projeto aqui que não é mais mantido ou não é adequado, envie uma solicitação pull para melhorar este arquivo. Obrigado!
Conteúdo
- Incrível ir
- Conteúdo
- Modelo de ator
- Inteligência artificial
- Áudio e Música
- Autenticação e OAuth
- Blockchain
- Construção de bots
- Automação de construção
- Linha de Comando
- Interfaces de usuário avançadas do console
- CLI padrão
- Configuração
- Integração Contínua
- Pré-processadores CSS
- Estruturas de integração de dados
- Estruturas de dados e algoritmos
- Embalagem de bits e compactação
- Conjuntos de bits
- Filtros Bloom e Cuco
- Estrutura de dados e coleções de algoritmos
- Iteradores
- Mapas
- Diversas estruturas de dados e algoritmos
- Tipos anuláveis
- Filas
- Conjuntos
- Análise de Texto
- Árvores
- Tubos
- Banco de dados
- Caches
- Bancos de dados implementados em Go
- Migração de esquema de banco de dados
- Ferramentas de banco de dados
- Construtores de consultas SQL
- Drivers de banco de dados
- Interfaces para vários back-ends
- Drivers de banco de dados relacional
- Drivers de banco de dados NoSQL
- Bancos de dados analíticos e de pesquisa
- Data e hora
- Sistemas Distribuídos
- DNS Dinâmico
- E-mail
- Linguagens de script incorporáveis
- Tratamento de erros
- Tratamento de arquivos
- Financeiro
- Formulários
- Funcional
- Desenvolvimento de Jogos
- Geradores
- Geográfico
- Compiladores Go
- Goroutines
- GUI
- Hardware
- Imagens
- IoT (Internet das Coisas)
- Agendador de tarefas
- JSON
- Registro
- Aprendizado de máquina
- Mensagens
- Microsoft Office
- Variado
- Injeção de Dependência
- Layout do Projeto
- Cordas
- Sem categoria
- Processamento de Linguagem Natural
- Detecção de idioma
- Analisadores Morfológicos
- Slugificadores
- Tokenizadores
- Tradução
- Transliteração
- Rede
- OpenGL
- ORM
- Gerenciamento de Pacotes
- Desempenho
- Linguagem de consulta
- Reflexão
- Incorporação de recursos
- Ciência e Análise de Dados
- Segurança
- Serialização
- Aplicativos de servidor
- Processamento de fluxo
- Mecanismos de modelo
- Teste
- Estruturas de teste
- Zombar
- Fuzzing e depuração/redução/redução delta
- Ferramentas de controle de selênio e navegador
- Falha na injeção
- Processamento de Texto
- Formatadores
- Linguagens de marcação
- Analisadores/codificadores/decodificadores
- Expressões Regulares
- Saneamento
- Raspadores
- RSS
- Utilitário/Diversos
- APIs de terceiros
- Utilitários
- UUID
- Validação
- Controle de versão
- Vídeo
- Estruturas Web
- Middlewares
- Middlewares reais
- Bibliotecas para criação de middlewares HTTP
- Roteadores
- WebAssembly
- Windows
- Estruturas de fluxo de trabalho
- XML
- Confiança Zero
- Análise de código
- Plug-ins de editor
- Vá gerar ferramentas
- Ir Ferramentas
- Pacotes de software
- Ferramentas DevOps
- Outros softwares
- Recursos
- Referências
- Conferências
- Livros eletrônicos
- E-books para compra
- E-books grátis
- Esquilos
- Encontros
- Guias de estilo
- Mídias Sociais
- Sites
- Tutoriais
- Aprendizagem Guiada
⬆ voltar ao topo
Modelo de ator
Bibliotecas para construção de programas baseados em atores.
- Ergo – Uma estrutura baseada em atores com transparência de rede para a criação de arquitetura orientada a eventos em Golang. Inspirado em Erlang.
- Goakt - Estrutura de ator rápido e distribuído usando buffers de protocolo como mensagem para Golang.
- Hollywood - Motor de ator extremamente rápido e leve escrito em Golang.
- ProtoActor - Proto Actor - Atores distribuídos ultrarrápidos para Go, C# e Java/Kotlin.
Inteligência artificial
Bibliotecas para construir programas que aproveitem a IA.
- chromem-go - Banco de dados vetorial incorporável para Go com interface semelhante ao Chroma e zero dependências de terceiros. Na memória com persistência opcional.
- fun - A maneira mais simples, porém poderosa, de usar grandes modelos de linguagem (LLMs) em Go.
- langchaingo - LangChainGo é uma estrutura para desenvolvimento de aplicativos baseados em modelos de linguagem.
- LocalAI - Alternativa de código aberto OpenAI, modelos de IA auto-hospedados.
- Ollama – Execute grandes modelos de linguagem localmente.
- OllamaFarm - Gerencie, balanceie a carga e faça failover de pacotes de Ollamas
⬆ voltar ao topo
Áudio e Música
Bibliotecas para manipulação de áudio.
- flac - Codificador/decodificador Native Go FLAC com suporte para fluxos FLAC.
- gaad - analisador de fluxo de bits Native Go AAC.
- GoAudio - Biblioteca nativa de processamento de áudio Go.
- gosamplerate - ligações libsamplerate para go.
- id3v2 - biblioteca de decodificação e codificação ID3 para Go.
- malgo - Mini biblioteca de áudio.
- minimp3 - Biblioteca leve de decodificadores de MP3.
- Oto – Uma biblioteca de baixo nível para reproduzir som em múltiplas plataformas.
- PortAudio - Ligações Go para a biblioteca de E/S de áudio PortAudio.
⬆ voltar ao topo
Autenticação e OAuth
Bibliotecas para implementação de esquemas de autenticação.
- authboss - Sistema modular de autenticação para a web. Ele tenta remover o máximo possível de clichês e "coisas difíceis" para que cada vez que você iniciar um novo projeto web em Go, você possa conectá-lo, configurá-lo e começar a construir seu aplicativo sem ter que construir um sistema de autenticação a cada vez. .
- branca - implementação de especificação de token branca para Golang 1.15+.
- casbin – Biblioteca de autorização que suporta modelos de controle de acesso como ACL, RBAC e ABAC.
- cookiestxt - fornece um analisador do formato de arquivo cookies.txt.
- go-guardian - Go-Guardian é uma biblioteca golang que fornece uma maneira simples, limpa e idiomática de criar API moderna e poderosa e autenticação da web que suporta autenticação baseada em LDAP, Básico, token de portador e certificado.
- go-jose - Implementação bastante completa das especificações JSON Web Token, JSON Web Signatures e JSON Web Encryption do grupo de trabalho JOSE.
- gologin - manipuladores encadeados para login com provedores de autenticação OAuth1 e OAuth2.
- gorbac - fornece uma implementação leve de controle de acesso baseado em função (RBAC) em Golang.
- gosession - Esta é uma sessão rápida para net/http no GoLang. Este pacote é talvez a melhor implementação do mecanismo de sessão, ou pelo menos tenta se tornar um.
- gótico - fornece uma maneira simples, limpa e idiomática de usar OAuth e OAuth2. Lida com vários provedores prontos para uso.
- jeff - Gerenciamento de sessão web simples, flexível, seguro e idiomático com back-ends conectáveis.
- jwt - Biblioteca JSON Web Token (JWT) leve.
- jwt - JSON Web Tokens seguros, simples e rápidos para Go.
- jwt-auth - middleware JWT para servidores http Golang com muitas opções de configuração.
- jwt-go – Uma implementação completa de JSON Web Tokens (JWT). Esta biblioteca oferece suporte à análise e verificação, bem como à geração e assinatura de JWTs.
- jwx - Módulo Go que implementa várias tecnologias JWx (JWA/JWE/JWK/JWS/JWT, também conhecido como JOSE)
- keto - implementação de código aberto (Go) de "Zanzibar: sistema de autorização global consistente e consistente do Google". Fornece gRPC, APIs REST, newSQL e uma linguagem de permissão fácil e granular. Suporta ACL, RBAC e outros modelos de acesso.
- loginsrv - microsserviço de login JWT com back-ends conectáveis, como OAuth2 (Github), htpasswd, osiam.
- oauth2 - Sucessor do goauth2. Pacote OAuth 2.0 genérico que vem com suporte a JWT, APIs do Google, Compute Engine e App Engine.
- oidc - Biblioteca de cliente e servidor OpenID Connect fácil de usar, escrita para Go e certificada pela OpenID Foundation
- openfga - Implementação de autorização refinada com base no artigo "Zanzibar: Google's Consistent, Global Authorization System". Apoiado pela CNCF.
- osin - biblioteca do servidor Golang OAuth2.
- otpgen - Biblioteca para gerar códigos TOTP/HOTP.
- otpgo - Biblioteca de senha de uso único baseada em tempo (TOTP) e senha de uso único baseada em HMAC (HOTP) para Go.
- paseto - implementação Golang de tokens de segurança independentes de plataforma (PASETO).
- permissions2 – Biblioteca para monitorar usuários, estados de login e permissões. Usa cookies seguros e bcrypt.
- scope - Gerencie facilmente escopos OAuth2 em movimento.
- scs - Gerenciador de sessão para servidores HTTP.
- securecookie - Codificação/decodificação de cookies segura e eficiente.
- sessão - gerenciamento de sessões Go para servidores web (incluindo suporte para Google App Engine - GAE).
- sessões - Serviço de sessões extremamente simples, de alto desempenho e altamente personalizável para servidores go http.
- sessionup - Pacote de identificação e gerenciamento de sessão HTTP simples, mas eficaz.
- sjwt - Gerador e analisador jwt simples.
⬆ voltar ao topo
Blockchain
Ferramentas para construção de blockchains.
- cometbft - Um mecanismo de replicação de máquina de estado determinística, distribuído, tolerante a falhas e bizantino. É um fork do Tendermint Core e implementa o algoritmo de consenso Tendermint.
- cosmos-sdk – Uma estrutura para a construção de blockchains públicos no ecossistema Cosmos.
- gno - Um conjunto abrangente de contratos inteligentes construído com Golang e Gnolang, uma variante Go determinística e específica para blockchains.
- go-ethereum - Implementação oficial Go do protocolo Ethereum.
- gosemble - Uma estrutura baseada em Go para construir tempos de execução compatíveis com Polkadot/Substrate.
- gossamer - Uma implementação Go do Polkadot Host.
- kubo – Uma estrutura de blockchain implementada em Go. Ele fornece armazenamento endereçável de conteúdo que pode ser usado para armazenamento descentralizado em DApps. É baseado no protocolo IPFS.
- lnd - Uma implementação completa de um nó da Rede de Iluminação.
- solana-go - Biblioteca Go para interface com as interfaces Solana JSON RPC e WebSocket.
- tendermint - Middleware de alto desempenho para transformar uma máquina de estado escrita em qualquer linguagem de programação em uma máquina de estado replicada tolerante a falhas bizantinas usando o consenso Tendermint e protocolos blockchain.
⬆ voltar ao topo
Construção de bots
Bibliotecas para construir e trabalhar com bots.
- bot - Biblioteca Telegram Bot de dependência zero com componentes de UI adicionais
- echotron – Uma biblioteca elegante e simultânea para Telegram Bots in Go.
- ephemeral-roles - Um bot Discord para gerenciar funções efêmeras com base na presença de membros do canal de voz.
- go-chat-bot - bot IRC, Slack e Telegram escrito em Go.
- go-joe – Uma biblioteca de bot de uso geral inspirada no Hubot, mas escrita em Go.
- go-sarah – Estrutura para construir um bot para serviços de chat desejados, incluindo LINE, Slack, Gitter e muito mais.
- go-tg - Gerado a partir da biblioteca cliente Go de documentos oficiais para acessar a API Telegram Bot, com baterias para construção de bots complexos incluídas.
- go-tgbot - Wrapper Pure Golang Telegram Bot API, gerado a partir de arquivo swagger, roteador baseado em sessão e middleware.
- go-twitch-irc - Biblioteca para escrever bots para chat twitch.tv
- Golang CryptoTrading Bot – Uma implementação golang de um bot de negociação baseado em console para trocas de criptomoedas.
- govkbot - Biblioteca de bots Simple Go VK.
- hanu – Estrutura para escrever bots do Slack.
- Kelp - bot oficial de negociação e criação de mercado do Stellar DEX. Funciona imediatamente, escrito em Golang, compatível com bolsas centralizadas e estratégias de negociação personalizadas.
- Larry - Larry? é um gerador de bot do Twitter realmente simples que tweeta repositórios aleatórios do Github integrados em Go.
- margelet - Framework para construção de bots do Telegram.
- micha - Biblioteca Go para API de bot do Telegram.
- olivia - Um chatbot construído com uma rede neural artificial.
- slack-bot - Slack Bot pronto para usar para desenvolvedores preguiçosos: comandos personalizados, Jenkins, Jira, Bitbucket, Github...
- slacker - Estrutura fácil de usar para criar bots do Slack.
- slackscot – Outra estrutura para construir bots do Slack.
- tbot - Servidor bot do Telegram com API semelhante a net/http.
- telebot - A estrutura do bot do Telegram é escrita em Go.
- telego - Biblioteca de API do Telegram Bot para Golang com implementação completa de API um para um.
- telegram-bot-api - Cliente bot Telegram simples e limpo.
- teleterm - Comando do Terminal Telegram Bot Exec.
- Tenyks - bot IRC orientado a serviços usando Redis e JSON para mensagens.
- wayback - Um bot para Telegram, Mastodon, Slack e outras plataformas de mensagens arquiva páginas da web.
⬆ voltar ao topo
Automação de construção
Bibliotecas e ferramentas ajudam na automação de construção.
- 1build - Ferramenta de linha de comando para gerenciar comandos específicos do projeto sem atrito.
- air - Air - Recarga ao vivo para aplicativos Go.
- anko – Observador de aplicativos simples para múltiplas linguagens de programação.
- gaper - Constrói e reinicia um projeto Go quando ele trava ou ocorre alguma alteração no arquivo monitorado.
- gilbert - Construa sistema e executor de tarefas para projetos Go.
- gob - ferramenta de construção semelhante a Gradle/Maven para projetos Go.
- goyek - Crie pipelines de construção em Go.
- mage - Mage é uma ferramenta de construção semelhante a make/rake usando Go.
- mmake - Marca Moderna.
- perceber - Vá construir um sistema com observadores de arquivos e viva para recarregar. Execute, crie e observe alterações de arquivos com caminhos personalizados.
- Tarefa - alternativa simples de "Fazer".
- taskctl - Executor de tarefas simultâneas.
- xc - Executor de tarefas com tarefas definidas em README.md, marcação executável.
⬆ voltar ao topo
Linha de Comando
Interfaces de usuário avançadas do console
Bibliotecas para construir aplicativos de console e interfaces de usuário de console.
- asciigraph - Pacote Go para criar gráficos de linha ASCII leves ╭┈╯ em aplicativos de linha de comando sem outras dependências.
- aurora - Cores de terminal ANSI que suportam fmt.Printf/Sprintf.
- box-cli-maker - Faça caixas altamente personalizadas para sua CLI.
- bubble-table - Um componente de mesa interativo para bubbletea.
- bolhas - componentes TUI para bubbletea.
- bubbletea - Estrutura Go para construir aplicativos de terminal, baseada na The Elm Architecture.
- cfmt - FMT contextual inspirado nas classes de cores do bootstrap.
- cfmt - Saída estilizada formatada simples e conveniente, totalmente compatível com a biblioteca fmt.
- giz - Pacote intuitivo para embelezar a saída do terminal/console.
- colorize - Biblioteca Go para texto colorido ANSI em terminais.
- crab-config-files-templating - Ferramenta de modelagem de arquivo de configuração dinâmica para manifesto do Kubernetes ou arquivos de configuração geral.
- ctc - A biblioteca de cores do terminal multiplataforma não invasiva não precisa modificar o método Print.
- go-ataman - Biblioteca Go para renderizar modelos de texto colorido ANSI em terminais.
- go-colorable - Escritor colorido para Windows.
- go-colortext - Biblioteca Go para saída de cores em terminais.
- go-isatty - isatty para golang.
- go-palette - Biblioteca Go que fornece definições de estilo elegantes e convenientes usando cores ANSI. Totalmente compatível e envolve a biblioteca fmt para ótimos layouts de terminal.
- go-prompt – Biblioteca para construir um prompt interativo poderoso, inspirado no python-Prompt-toolkit.
- gocui - Biblioteca Go minimalista destinada à criação de interfaces de usuário de console.
- gommon/color - Estilize o texto do terminal.
- gookit/color - Biblioteca de ferramentas de renderização de cores do terminal, suporta 16 cores, 256 cores, saída de renderização de cores RGB, compatível com Windows.
- lipgloss - Defina declarativamente estilos de cor, formato e layout no terminal.
- marcador - A maneira mais fácil de combinar e marcar strings para saídas de terminal coloridas.
- mpb - Barra de progresso múltipla para aplicativos de terminal.
- progressbar - Barra de progresso thread-safe básica que funciona em todos os sistemas operacionais.
- pterm – Uma biblioteca para embelezar a saída do console em todas as plataformas com muitos componentes combináveis.
- simpletable – Tabelas simples em um terminal com Go.
- spinner - Pacote Go para fornecer opções facilmente a um spinner de terminal.
- tabby - Uma pequena biblioteca para tabelas Golang super simples.
- table - Pequena biblioteca para tabelas baseadas em cores de terminal.
- tabular - Imprima tabelas ASCII a partir de utilitários de linha de comando sem a necessidade de passar grandes conjuntos de dados para a API.
- termbox-go - Termbox é uma biblioteca para criação de interfaces baseadas em texto multiplataforma.
- termdash - Painel do terminal Go baseado em termbox-go e inspirado em termui.
- termenv - Suporte avançado de cores e estilo ANSI para suas aplicações de terminal.
- termui - Painel do terminal Go baseado em termbox-go e inspirado em Blessed-Contrib.
- uilive – Biblioteca para atualizar a saída do terminal em tempo real.
- uiprogress – Biblioteca flexível para renderizar barras de progresso em aplicativos de terminal.
- uitable – Biblioteca para melhorar a legibilidade em aplicativos de terminal usando dados tabulares.
- yacspin - Mais um pacote CLi Spinner, para trabalhar com spinners de terminal.
⬆ voltar ao topo
CLI padrão
Bibliotecas para construir aplicativos de linha de comando padrão ou básicos.
- acmd - Pacote CLI simples, útil e opinativo em Go.
- argparse – Analisador de argumentos de linha de comando inspirado no módulo argparse do Python.
- argv - Biblioteca Go para dividir a string da linha de comando como array de argumentos usando a sintaxe bash.
- carapace - Gerador de conclusão de argumento de comando para spf13/cobra.
- carapace-bin - Completador de argumento multi-comando multi-shell.
- carapace-spec - Defina conclusões simples usando um arquivo de especificações.
- clímax - CLI alternativo com "rosto humano", no espírito do comando Go.
- clîr - Uma biblioteca CLI simples e clara. Livre de dependência.
- cmd - Estende o pacote
flag
padrão para suportar subcomandos e muito mais de forma idiomática. - cmdr - Uma biblioteca UI Go de linha de comando estilo POSIX/GNU, semelhante a getopt.
- cobra - Commander para interações Go CLI modernas.
- cadeia de comando - Uma biblioteca go para configurar e executar cadeias de comando - como pipelining em shells unix.
- commandeer - Aplicativos CLI amigáveis ao desenvolvedor: configura sinalizadores, padrões e uso com base em campos e tags de estrutura.
- complete - Escreva as conclusões do bash na conclusão do comando Go + Go.
- Dnote – Um notebook de linha de comando simples com sincronização de vários dispositivos.
- élfico - Uma linguagem de programação expressiva e um shell interativo versátil.
- env – Configuração de ambiente baseada em tags para estruturas.
- flag - Biblioteca de análise de opções de linha de comando simples, mas poderosa para subcomando de suporte Go.
- flaggy - Um pacote de sinalizadores robusto e idiomático com excelente suporte a subcomandos.
- flagvar - Uma coleção de tipos de argumentos de flag para o pacote
flag
padrão do Go. - go-andotp - Um programa CLI para criptografar/descriptografar arquivos andOTP. Também pode ser usado como biblioteca.
- go-arg - Análise de argumento baseada em estrutura em Go.
- go-commander - Biblioteca Go para simplificar o fluxo de trabalho CLI.
- go-flags - analisador de opções de linha de comando go.
- go-getoptions - Analisador de opções Go inspirado na flexibilidade do GetOpt::Long do Perl.
- gocmd – Biblioteca Go para construção de aplicativos de linha de comando.
- hiboot cli - estrutura de aplicativo cli com configuração automática e injeção de dependência.
- trabalho - TRABALHO, faça do seu comando de curto prazo um trabalho de longo prazo.
- kingpin - Linha de comando e analisador de flag que suporta subcomandos (substituído por
kong
; veja abaixo). - liner - Biblioteca semelhante a readline para interfaces de linha de comando.
- mcli – Uma biblioteca CLI mínima, mas muito poderosa para Go.
- mitchellh/cli - Biblioteca Go para implementação de interfaces de linha de comando.
- mkideal/cli - Pacote de linha de comando rico em recursos e fácil de usar baseado em tags golang struct.
- mow.cli - Biblioteca Go para construir aplicativos CLI com análise e validação sofisticada de sinalizadores e argumentos.
- ops - Construtor/Orquestrador Unikernel.
- pflag - Substituição imediata do pacote de flags do Go, implementando --flags no estilo POSIX/GNU.
- Biblioteca Readline Shell com recursos de UI modernos e fáceis de usar.
- sand – API simples para criação de intérpretes e muito mais.
- sflags - Gerador de flags baseado em estrutura para flag, urfave/cli, pflag, cobra, kingpin e outras bibliotecas.
- strumt - Biblioteca para criar cadeia de prompts.
- subcmd – Outra abordagem para analisar e executar subcomandos. Funciona junto com o pacote
flag
padrão. - pesquisa - Crie prompts interativos e acessíveis com suporte total para Windows e terminais posix.
- teris-io/cli - API simples e completa para construção de interfaces de linha de comando em Go.
- ts - Ferramenta de conversão e comparação de carimbo de data/hora.
- ukautz/clif - Pequena estrutura de interface de linha de comando.
- urfave/cli - Pacote simples, rápido e divertido para criar aplicativos de linha de comando em Go (anteriormente codegangsta/cli).
- version - Coleta e exibe informações de versão CLI em vários formatos junto com aviso de atualização.
- wlog - Interface de registro simples que suporta cores e simultaneidade entre plataformas.
- wmenu - Estrutura de menu fácil de usar para aplicativos CLI que solicita aos usuários que façam escolhas.
⬆ voltar ao topo
Configuração
Bibliotecas para análise de configuração.
- aconfig - Carregador de configuração simples, útil e opinativo.
- bcl - BCL é uma linguagem de configuração semelhante à HCL.
- cleanenv - Leitor de configuração minimalista (de arquivos, ENV e onde você quiser).
- config - Configuração do aplicativo nativo da nuvem. Vincule ENV a estruturas em apenas duas linhas.
- config - configure seu aplicativo usando arquivo, variáveis de ambiente ou sinalizadores em duas linhas de código
- configuração - Biblioteca para inicializar estruturas de configuração a partir de variáveis de ambiente, arquivos, sinalizadores e tag 'default'.
- configure - Fornece configuração por meio de múltiplas fontes, incluindo JSON, sinalizadores e variáveis de ambiente.
- configuro - estrutura opinativa de carregamento e validação de configuração da ENV e Files focada em aplicativos compatíveis com 12 fatores.
- confiq - Formato de dados estruturados para configurar a biblioteca do decodificador de estrutura para Go - suportando vários formatos de dados
- confita - Carrega a configuração em cascata de vários back-ends em uma estrutura.
- conflate - Biblioteca/ferramenta para mesclar vários arquivos JSON/YAML/TOML de URLs arbitrários, validação em um esquema JSON e aplicação de valores padrão definidos no esquema.
- env - analisa variáveis de ambiente para estruturas Go (com padrões).
- env – Um pacote leve para carregar variáveis de ambiente em estruturas.
- env - Um pacote de utilitários de ambiente com suporte para desempacotamento em estruturas
- envconfig – Leia sua configuração nas variáveis de ambiente.
- envh - Ajudantes para gerenciar variáveis de ambiente.
- fig - Pequena biblioteca para leitura de configuração de um arquivo e de variáveis de ambiente (com validação e padrões).
- genv – Leia variáveis de ambiente facilmente com suporte a dotenv.
- go-array - Um pacote Go que lê ou define dados de map, slice ou json.
- go-aws-ssm – Pacote Go que busca parâmetros do AWS System Manager – Parameter Store.
- go-cfg – A biblioteca fornece uma maneira unificada de ler dados de configuração em uma estrutura de várias fontes, como env, sinalizadores e arquivos de configuração (.json, .yaml, .toml, .env).
- go-conf – Biblioteca simples para configuração de aplicativos baseada em estruturas anotadas. Ele suporta a leitura da configuração de variáveis de ambiente, arquivos de configuração e parâmetros de linha de comando.
- go-ini - Um pacote Go que empacota e desempacota arquivos INI.
- go-ssm-config - Utilitário Go para carregar parâmetros de configuração do AWS SSM (Parameter Store).
- go-up - Uma biblioteca de configuração simples com resolução de espaços reservados recursivos e sem mágica.
- GoCfg - Gerenciador de configuração com contratos baseados em Struct Tags, provedores de valor customizados, analisadores e geração de documentação. Personalizável, mas simples.
- goConfig – analisa uma estrutura como entrada e preenche os campos desta estrutura com parâmetros da linha de comando, variáveis de ambiente e arquivo de configuração.
- godotenv - porta Go da biblioteca dotenv do Ruby (carrega variáveis de ambiente de
.env
). - gofigure - Configuração do aplicativo Go facilitada.
- GoLobby/Config - GoLobby Config é um gerenciador de configuração leve, mas poderoso, para a linguagem de programação Go.
- gon/jconf - Configuração JSON modular. Mantenha suas estruturas de configuração junto com o código que elas configuram e delegue a análise aos submódulos sem sacrificar a serialização completa da configuração.
- gonfig - Analisador de configuração baseado em tags que carrega valores de diferentes provedores em uma estrutura typesafe.
- gookit/config - gerenciamento de configuração do aplicativo (carregar, obter, definir). suporta JSON, YAML, TOML, INI, HCL. carregamento de vários arquivos, mesclagem de substituição de dados.
- colheitadeira - Harvester, um pacote de configuração estática e dinâmica fácil de usar que suporta propagação, env vars e integração Consul.
- hjson - Human JSON, um formato de arquivo de configuração para humanos. Sintaxe relaxada, menos erros, mais comentários.
- hocon - Biblioteca de configuração para trabalhar com o formato HOCON (um superconjunto JSON amigável), suporta recursos como variáveis de ambiente, referência a outros valores, comentários e vários arquivos.
- ingo - Os sinalizadores persistiram em um arquivo de configuração semelhante ao ini.
- ini - Pacote Go para ler e gravar arquivos INI.
- ini - INI Parser & Write Library, Unmarshal para Struct, Marshal para Json, Write File, watch file.
- joshbetz/config - Pequena biblioteca de configuração para Go que analisa variáveis de ambiente, arquivos JSON e recarrega automaticamente no SIGHUP.
- kelseyhightower/envconfig - Biblioteca Go para gerenciar dados de configuração de variáveis de ambiente.
- koanf - Biblioteca leve e extensível para leitura de configurações em aplicativos Go. Suporte integrado para JSON, TOML, YAML, env, linha de comando.
- konf - A API mais simples para ler/assistir configurações de arquivo, ambiente, sinalizador e nuvens (por exemplo, AWS, Azure, GCP).
- konfig - Manipulação de configuração combinável, observável e de alto desempenho para Go para a era do processamento distribuído.
- kong - Analisador de linha de comando com suporte para estruturas de linha de comando arbitrariamente complexas e fontes adicionais de configuração, como YAML, JSON, TOML, etc (sucessor do
kingpin
). - mini - pacote Golang para analisar arquivos de configuração no estilo ini.
- nasermirzaei89/env - Pacote simples e útil para leitura de variáveis de ambiente.
- nfigure - Configuração baseada em tag de estrutura por biblioteca a partir de linhas de comando (estilo Posix & Go); ambiente, JSON, YAML
- cebola - Configuração baseada em camada para Go, suporta JSON, TOML, YAML, propriedades, etcd, env e criptografia usando PGP.
- piper - Wrapper Viper com herança de configuração e geração de chave.
- sonic - Uma biblioteca de serialização e desserialização JSON extremamente rápida.
- store - Gerenciador de configuração leve para Go.
- swap - Instancia/configura estruturas recursivamente, com base no ambiente de construção. (YAML, TOML, JSON e env).
- typenv - Biblioteca minimalista de variáveis de ambiente digitadas, com dependência zero.
- uConfig - Gerenciamento de configuração leve, sem dependência e extensível.
- viper - Vá para a configuração com presas.
- xdg - Implementação Go da especificação de diretório base XDG e diretórios de usuário XDG.
- xdg - Pacote multiplataforma que segue o padrão XDG.
- yamagicf - O "subconjunto seguro" das configurações do YAML para Go.
⬆ voltar ao topo
Integração Contínua
Ferramentas para ajudar na integração contínua.
- abstruso - Abstruse é uma plataforma de CI distribuída.
- Bencher – Um conjunto de ferramentas de benchmarking contínuo projetadas para capturar regressões de desempenho em CI.
- CDS - Plataforma de código aberto de automação de CI/CD e DevOps de nível empresarial.
- dot - Um primeiro sistema de integração contínua local mínimo que usa Docker para executar tarefas simultaneamente em estágios.
- drone - Drone é uma plataforma de integração contínua construída em Docker, escrita em Go.
- go-beautiful-html-coverage - Uma ação do GitHub para rastrear a cobertura de código em suas solicitações pull, com uma bela visualização de HTML, gratuitamente.
- go-fuzz-action - Use o teste de fuzz integrado do Go 1.18 no GitHub Actions.
- go-semver-release – Automatiza o versionamento semântico dos repositórios Git.
- go-test-coverage - Ferramenta e ação do GitHub que relata problemas quando a cobertura do teste está abaixo do limite definido.
- gomason - Teste, construa, assine e publique seus binários go em um espaço de trabalho limpo.
- gotestfmt - teste a saída para humanos.
- goveralls - Integração Go para o sistema de rastreamento de cobertura contínua de código Coveralls.io.
- muffet - Verificador rápido de links de sites em Go, veja alternativas.
- macacões - Perfil de capa do projeto Multi-Package go para ferramentas como macacões.
- Roveralls - Ferramenta de teste de cobertura recursiva.
- pica-pau - Woodpecker é uma bifurcação comunitária do sistema Drone CI.
⬆ voltar ao topo
Pré-processadores CSS
Bibliotecas para pré-processamento de arquivos CSS.
- gcss - Pré-processador CSS Pure Go.
- go-libsass - Vá para o wrapper do projeto libsass 100% compatível com Sass.
⬆ voltar ao topo
Estruturas de integração de dados
Frameworks para execução de ELT/ETL
- Benthos – Uma ponte de streaming de mensagens entre uma variedade de protocolos.
- CloudQuery – Uma estrutura de integração de dados ELT de alto desempenho com arquitetura conectável.
- omniparser - Uma biblioteca ETL versátil que analisa entrada de texto (CSV/txt/JSON/XML/EDI/X12/EDIFACT/etc) em streaming e transforma dados em saída JSON usando esquema orientado a dados.
⬆ voltar ao topo
Estruturas de dados e algoritmos
Embalagem de bits e compactação
- bingo - Embalagem rápida, com alocação zero e preservação de ordem lexicográfica de tipos nativos em bytes.
- binpacker - O empacotador e descompactador binário ajuda o usuário a construir um fluxo binário personalizado.
- bit - Golang define estrutura de dados com funções bônus de manipulação de bits.
- crunch - Pacote Go que implementa buffers para lidar facilmente com vários tipos de dados.
- go-ef - Uma implementação Go da codificação Elias-Fano.
- roaring - Pacote Go que implementa bitsets compactados.
Conjuntos de bits
- bitmap - Bitmap/bitset denso, com alocação zero e habilitado para SIMD em Go.
- bitset - Pacote Go implementando bitsets.
Filtros Bloom e Cuco
- bloom - Pacote Go que implementa filtros Bloom.
- bloom - Filtros Bloom implementados em Go.
- bloom - Implementação do filtro Golang Bloom.
- bloomfilter - Mais uma implementação do Bloomfilter em Go, compatível com a biblioteca Guava do Java.
- boomfilters - Estruturas de dados probabilísticas para processamento de fluxos contínuos e ilimitados.
- cuco-filtro - Filtro cuco: um filtro cuco abrangente, que é configurável e otimizado em termos de espaço em comparação com outros implementos, e todos os recursos mencionados no artigo original estão disponíveis.
- cuckoofilter - Filtro Cuckoo: uma boa alternativa para um filtro de contagem de flores implementado em Go.
- ring - Go implementação de um filtro bloom seguro para threads de alto desempenho.
Estrutura de dados e coleções de algoritmos
- algoritmos - Algoritmos e estruturas de dados. Estudo CLRS.
- go-datastructures - Coleção de estruturas de dados úteis, de alto desempenho e seguras para threads.
- deuses - Estruturas de dados Go. Contêineres, Conjuntos, Listas, Pilhas, Mapas, BidiMaps, Árvores, HashSet etc.
- gostl - Estrutura de dados e biblioteca de algoritmos para go, projetada para fornecer funções semelhantes a C++ STL.
Iteradores
- goterator - Implementação de iterador para fornecer funcionalidades de mapeamento e redução.
- iter - Implementação Go de iteradores e algoritmos C++ STL.
Mapas
Consulte também Banco de dados para armazenamentos de valores-chave mais complexos e Árvores para implementações de mapas ordenados adicionais.
- cmap - um mapa simultâneo seguro para threads para go, compatível com o uso de
interface{}
como chave e fragmentos de escalonamento automático. - dict - Dicionários semelhantes a Python (dict) para Go.
- go-shelve - Um objeto persistente semelhante a um mapa para a linguagem de programação Go. Suporta vários armazenamentos de valores-chave incorporados.
- goradd/maps - Interface de mapa genérica Go 1.18+ para mapas; mapas seguros; mapas ordenados; mapas ordenados e seguros; etc.
Diversas estruturas de dados e algoritmos
- concurrent-writer - Substituição imediata altamente simultânea para
bufio.Writer
. - conjungo - Uma biblioteca de mesclagem pequena, poderosa e flexível.
- count-min-log - Implementação Go Esboço Count-Min-Log: contagem aproximada com contadores aproximados (como o esboço Count-Min, mas usando menos memória).
- fsm - Pacote de Máquina de Estados Finitos.
- genfuncs - pacote genérico Go 1.18+ inspirado na sequência e no mapa de Kotlin.
- go-generics - utilitários genéricos de fatia, mapa, conjunto, iterador e goroutine.
- go-geoindex - Índice geográfico na memória.
- go-rampart - Determine como os intervalos se relacionam entre si.
- go-rquad - Quadtrees de região com localização eficiente de pontos e localização de vizinhos.
- go-tuple - Implementação de tupla genérica para Go 1.18+.
- go18ds - Estruturas de dados Go usando genéricos Go 1.18.
- gofal - API fracionária para Go.
- gogu - Uma biblioteca abrangente, reutilizável e eficiente de funções utilitárias genéricas e estruturas de dados seguras para concorrência.
- gota - Implementação de dataframes, séries e métodos de organização de dados para Go.
- hide - Tipo de ID com empacotamento de/para hash para evitar o envio de IDs aos clientes.
- hilbert - Pacote Go para mapear valores de e para curvas de preenchimento de espaço, como curvas de Hilbert e Peano.
- hyperloglog - Implementação do HyperLogLog com Sparse, correção de polarização LogLog-Beta e redução de espaço TailCut.
- quadtree - Quadtree genérico, com alocação zero e coberto com 100% de teste.
- slices - Funções que operam em slices; como
package strings
, mas adaptados para trabalhar com fatias. - slices - Funções puras e genéricas para fatias.
Tipos anuláveis
- nan - Alocação zero Estruturas anuláveis em uma biblioteca com funções úteis de conversão, empacotadores e desempacotadores.
- null - Tipos Go anuláveis que podem ser empacotados/desempacotados de/para JSON.
- typ - Tipos nulos, conversão segura de tipo primitivo e busca de valor de estruturas complexas.
Filas
- deque - Uma fila dupla altamente otimizada.
- deque - Deque de buffer de anel rápido (fila dupla).
- goconcurrentqueue - Fila FIFO simultânea.
- machadinha - Fila de tarefas distribuída e tolerante a falhas.
- memlog - Uma estrutura de dados na memória fácil de usar, leve, thread-safe e somente para acréscimos, inspirada no Apache Kafka.
- queue - Várias implementações de filas genéricas e seguras para threads para Go.
Conjuntos
- dsu - Implementação de estrutura de dados de conjunto separado em Go.
- golang-set - Conjuntos de alto desempenho Thread-Safe e Non-Thread-Safe para Go.
- goset - Uma implementação útil de coleção Set para Go.
- set - Implementação simples de estrutura de dados de conjunto em Go usando LinkedHashMap.
Análise de Texto
- bleve - Biblioteca moderna de indexação de texto para viagem.
- go-adaptive-radix-tree - Implementação Go do Adaptive Radix Tree.
- GO-EDLIB-GO Comparação de String e Editar Algoritmos de Distância Biblioteca (Levenshtein, LCS, Hamming, Damerau Levenshtein, Jaro-Winkler, etc.) Compatível com Unicode.
- Levenshtein - Métricas de distância e similaridade de Levenshtein com custos de edição personalizáveis e bônus do tipo Winkler para o prefixo comum.
- Levenshtein - Implementação para calcular a distância de Levenshtein em Go.
- MSPM - Algoritmo de correspondência de padrão de várias cordas para recuperação de informações.
- Parsefields - Ferramentas para registros parecidos com JSON para coletar campos e eventos exclusivos.
- PTRIE - Uma implementação da árvore de prefixo.
- Trie - Trie Implementation in Go.
Árvores
- Hashsplit - Flórgicos de bytes divididos em pedaços e organize pedaços em árvores, com limites determinados pelo conteúdo, não pela posição.
- Merkle - Computação com eficiência espacial de hashes e provas de inclusão de Merkle.
- Skiplist - Implementação muito rápida do Skiplist.
- Skiplist - Skiplist Implementation in Go.
- TRAP - mapa persistente e ordenado rápido usando pilhas de árvore.
- TreeMap-mapa genérico classificado com uma árvore vermelha-preta sob o capô.
Tubos
- Módulo Ordenado Concorrente - GO que processa funcionar simultaneamente e retorna a saída em um canal na ordem de entrada.
- Parapipe - FIFO Pipeline, que é paralelo à execução em cada estágio, mantendo a ordem de mensagens e resultados.
- Pipeline-Uma implementação de pipelines com ventilador e fan-out.
⬆ de volta ao topo
Banco de dados
Caches
Armazenamento de dados com registros expirados, armazenamentos de dados distribuídos na memória ou subconjuntos de dados de dados baseados em arquivos.
- Implementação de cache de 2q - 2q na memória.
- BCACHE - Eventualmente, a biblioteca de cache de cache na memória distribuída.
- BIGCACHE - Cache eficiente de chave/valor para gigabytes de dados.
- Cache - Chave In Memoria: Armazenamento de Valor com Tempo de Expiração, 0 Dependências, <100 LOC, Cobertura 100%.
- Cache2GO - Chave na memória: cache de valor que suporta invalidação automática com base em tempo limite.
- Cachego - Componente de cache de Golang para vários drivers.
- ClusterEdBigCache - BigCache com suporte de cluster e expiração individual de itens.
- Coerência-Go-Client-Implementação completa da API de cache de coerência do Oracle para aplicativos GO usando o GRPC como transporte de rede.
- Couchcache - Micro -serviço de cache repousante apoiado pelo Couchbase Server.
- ECHOVAULT - O armazenamento de dados na memória distribuído incorporável compatível com os clientes Redis.
- FastCache - Cache InMemory Fast segura para roscas para o grande número de entradas. Minimiza a sobrecarga do GC.
- GCACHE - Biblioteca de cache com suporte para cache expirável, LFU, LRU e ARC.
- GDCACHE - Uma biblioteca de cache não intrusiva pura implementada por Golang, você pode usá -la para implementar seu próprio cache distribuído.
- GO-CACHE-Uma biblioteca de cache de Go Multi-camadas flexível para lidar com cache na memória e compartilhado, adotando um padrão de lata de cache.
- GO-Freelru Uma biblioteca LRU sem GC, rápida e genérica, com bloqueio, sharding, despejo e expiração opcionais.
- GO-MCACHE-Chave in-memória rápida: Biblioteca de armazenamento de valor/cache. Cache de ponteiro.
- GOCACHE - Uma biblioteca completa do Go Cache com várias lojas (memória, memcache, redis, ...), cadeia, carregável, cache de métricas e muito mais.
- Gocache - uma biblioteca GO GO AChE da corrida de dados com alto desempenho e funcionalidade de prudência automática
- GroupCache - GroupCache é uma biblioteca de cache e preenchimento de cache, destinada a substituição do Memcached em muitos casos.
- ICACHE-Um pacote de cache de alto desempenho, genérico, seguro de rosca e dependência zero.
- IMCACHE - Uma biblioteca genérica de cache de cache na memória. Ele suporta expiração, expiração deslizante, limite máximo de entradas, retornos de chamada de despejo e sharding.
- NSCACHE - Uma estrutura de cache Go que suporta vários drivers de origem de dados.
- OTTER - Um cache sem trava de alto desempenho para GO. Muitas vezes mais rápido que Ristretto e amigos.
- Pocache - Pocache é um pacote mínimo de cache que se concentra em uma estratégia de cache otimista preventiva.
- STURDYC - Uma biblioteca de cache com recursos de concorrência avançados projetados para tornar os aplicativos pesados de E/S robustos e altamente executivos.
- Theine - alto desempenho, cache quase ideal na memória com expiração e genéricos proativos de TTL.
- TimedMap - Mapa com pares de valor -chave expirado.
- ttlcache - um cache na memória com expiração e genéricos do item.
- ttlcache - armazenamento de valor de chave na memória com TTL para cada registro.
Bancos de dados implementados em go
- Badger - Loja de valor -chave rápido em Go.
- BBOLT - Um banco de dados de chave/valor incorporado para GO.
- BitCask-BitCask é um banco de dados incorporável, persistente e rápido de valor-chave (KV) escrito em Pure Go com desempenho previsível de leitura/gravação, baixa latência e alta taxa de transferência, graças ao layout no disco do bitcask (LSM+WAL).
- BuntDB - Banco de dados de chave/valor rápido, incorporável e de memória para GO com indexação personalizada e suporte espacial.
- CLOVER - Um banco de dados NOSQL orientado a documentos leves, escrito em Pure Golang.
- barata - armazenamento escalável, geo -replicado e transacional.
- Coffer - Banco de dados de valor -chave de ácido simples que suporta transações.
- coluna-armazenamento na memória de alta eficiência, colunar, incorporável com indexação e transações de bitmap.
- Covenantsql - CovenantsQL é um banco de dados SQL no blockchain.
- Databunker - Serviço de armazenamento de informações pessoalmente identificáveis (PII) criado para cumprir com GDPR e CCPA.
- DGRAPH - Banco de dados de gráficos de rendimento de alta latência, distribuído, distribuído, de baixa latência.
- DiskV-armazenamento de valor de tecla com disco, encaixado em disco.
- Dolt - Dolt - é git para dados.
- DTF - um gerente de transação distribuído. Suporte a XA, TCC, SAGA, Mensagens confiáveis.
- ELIASDB-Banco de dados de gráficos transacionais sem dependência com API REST, pesquisa de frase e linguagem de consulta do tipo SQL.
- Godis - Um Golang implementou o servidor e cluster Redis de alto desempenho.
- GOLEVELDB - Implementação do banco de dados de chave/valor de nívelDB no GO.
- HARE - Um sistema simples de gerenciamento de banco de dados que armazena cada tabela como um arquivo de texto do JSON delimitado por linha.
- Immudb - Immudb é um banco de dados imutável leve e de alta velocidade para sistemas e aplicações escritas em Go.
- InfluxDB - armazenamento escalável para métricas, eventos e análises em tempo real.
- LEDISDB - LEDISDB é um NOSQL de alto desempenho como o Redis baseado no LevelDB.
- Levigo - Levigo é um invólucro do LevelDB.
- LibRADB - LibRADB é um banco de dados simples com menos de 1000 linhas de código para aprendizado.
- Lindb - Lindb é um banco de dados escalável, de alto desempenho e de alta disponibilidade de séries temporais.
- LOTUSDB - Banco de dados Fast K/V Compatível com a árvore LSM e B+.
- MILVUS - MILVUS é um banco de dados vetorial para incorporar gerenciamento, análise e pesquisa.
- Moss - Moss é um motor de armazenamento de valor -chave LSM simples, escrito em 100%.
- Nutsdb - NutsDB é uma loja de chave/valor simples, rápida, incorporável e persistente, escrita em Pure Go. Ele suporta transações totalmente serializáveis e muitas estruturas de dados, como LIST, SET, SLATED STIP.
- ObjectBox-GO-Banco de dados de objetos incorporado de alto desempenho (NOSQL) com API GO.
- PEBBLE - Banco de dados de valor -chave inspirado em rocksdb/nívelDB no GO.
- PILADB - mecanismo de banco de dados RESTful leve com base nas estruturas de dados da pilha.
- POGREB-Loja de valor-chave incorporado para cargas de trabalho pesadas.
- Prometheus - Sistema de monitoramento e banco de dados de séries temporais.
- Pudge - loja de chave/valor simples e simples escrita usando a biblioteca padrão do Go.
- Redka - Redis reimplementado com sqlite.
- RosedB - Um banco de dados KV incorporado baseado no LSM+WAL, suporta String, List, Hash, Set, Zset.
- Rotom - Um minúsculo servidor Redis construído com Golang, compatível com protocolos RESP.
- RQLITE - O banco de dados relacional leve, distribuído, construído no SQLite.
- TEMPDB - armazenamento de valor -chave para itens temporários.
- TIDB - TIDB é um banco de dados SQL distribuído. Inspirado no design do Google F1.
- TIDOT - Seu banco de dados NoSQL alimentado por Golang.
- UnitDB - Banco de dados Fast TimeSeries para IoT, aplicativos de mensagens em tempo real. Acesse UnitDB com pubsub sobre TCP ou WebSocket usando o aplicativo github.com/unit-io/unitd.
- VASTO-Uma loja de valores-chave distribuída de alto desempenho. No disco. Eventual consistente. HA. Capaz de crescer ou encolher sem interrupção de serviço.
- Victoriametrics - Banco de dados de séries temporais de código aberto rápido, eficaz e escalável. Pode ser usado como armazenamento remoto de longo prazo para Prometheus. Suporta Promql.
Migração do esquema de banco de dados
- Atlas - um kit de ferramentas de banco de dados. Uma CLI projetou para ajudar as empresas a trabalhar melhor com seus dados.
- AVRO - Descubra esquemas SQL e converta -os em esquemas Avro. Consulta SQL Records em Avro Bytes.
- BYTEBASE - Alteração de esquema de banco de dados segura e controle de versão para equipes de DevOps.
- Darwin - Biblioteca de Evolução do Esquema de Database para GO.
- DBMATE - Uma ferramenta de migração de banco de dados de estrutura leve e agnóstica.
- GO-FIXTURES-GRAPUTOS DO ESTILO DO DJANGO PARA A excelente biblioteca de banco de dados/SQL de Golang.
- Pacote Go-PG-Migrate-CLI para o gerenciamento de migrações GO-PG.
- GO-PG-MIGRAÇÕES-Um pacote Go para ajudar a escrever migrações com Go-PG/PG.
- Goavro - um pacote Go que codifica e decodifica dados AVRO.
- Godfish - Gerente de migração de banco de dados, trabalha com a linguagem de consulta nativa. Apoio a Cassandra, MySQL, Postgres, SQLite3.
- Ganso - Ferramenta de migração de banco de dados. Você pode gerenciar a evolução do seu banco de dados criando scripts Incrementais SQL ou GO.
- Gorm -Seeder - Seedador de banco de dados simples para Gorm ORM.
- Gormigrate - Helper de migração de esquema de banco de dados para Gorm ORM.
- Libschema - Defina suas migrações separadamente em cada biblioteca. Migrações para bibliotecas de código aberto. MySQL & PostgreSQL.
- Migrar - migrações de banco de dados. CLI e Golang Library.
- Migrator - Biblioteca de migração de banco de dados GO Simple Sim Simples.
- Migrator - Migrador de banco de dados MySQL projetado para executar migrações para seus recursos e gerenciar a atualização do esquema do banco de dados com o código Intuitive Go.
- Esquema - Biblioteca para incorporar migrações de esquema para bancos de dados compatíveis com banco de dados/SQL dentro de seus binários Go.
- Skeema - Sistema de gerenciamento de esquema SQL puro para MySQL, com suporte para ferramentas de mudança de esquema on -line externas e externas.
- Soda - Migração, criação, ORM, etc ... para MySQL, PostgreSQL e Sqlite.
- Ferramenta de migração de banco de dados SQL -Migre - Migration. Permite incorporar migrações no aplicativo usando Go-Bindata.
- SQLIZE - gerador de migração de banco de dados. Permite gerar a migração SQL a partir do modelo e o SQL existente diferenciá -los.
Ferramentas de banco de dados
- CHProxy - Proxy HTTP para banco de dados Clickhouse.
- Clickhouse -Bulk - coleta pequenas inserções e envia grandes solicitações para os servidores Clickhouse.
- DBBEnch - Ferramenta de benchmarking de banco de dados com suporte para vários bancos de dados e scripts.
- DG - Um gerador de dados rápido que produz arquivos CSV a partir de dados relacionais gerados.
- Dynago - Simplifique o trabalho com a AWS DynamoDB.
- Gatewayd-Gateway e estrutura de banco de dados nativos em nuvem para criar aplicativos orientados a dados. Como gateways da API, para bancos de dados.
- GO -MYSQL - GO TOOLSET para lidar com o protocolo e replicação MySQL.
- Gorm Multitenancy-Suporte de multi-cinema para bancos de dados gerenciados por Gorm.
- HASQL - Biblioteca para acessar instalações de banco de dados SQL multi -host.
- Octillery - Go Package para bancos de dados de sharding (suporta todos os ORM ou SQL bruto).
- OneDump - Backup de banco de dados de diferentes drivers a diferentes destinos com um comando e configuração.
- PG_TIMETABLE - AGENÇÃO AVANÇADA PARA POSTGRESQL.
- PGWeb - navegador de banco de dados PostGresql baseado na Web.
- Prep - Use instruções SQL preparadas sem alterar seu código.
- Prest - Simplifique e acelere o desenvolvimento, instantâneo, em tempo real, de alto desempenho em qualquer aplicativo pós -gres, existente ou novo.
- RDB - Redis RDB Arquivo analisador para desenvolvimento secundário e análise de memória.
- RWDB - RWDB fornece capacidade de réplica de leitura para vários servidores de banco de dados Configuração.
- VITESS - VITESS fornece servidores e ferramentas que facilitam a escala dos bancos de dados MySQL para serviços da Web em larga escala.
- Wescale - Wescale é um proxy de banco de dados projetado para aprimorar a escalabilidade, desempenho, segurança e resiliência de seus aplicativos.
Consultores de consulta SQL
Bibliotecas para construir e usar o SQL.
- BQB - Construtor de consultas leves e fáceis de aprender.
- BuildSQLX - GO Biblioteca de consultas de consulta de banco de dados para postgreSQL.
- BUILQ - Crie facilmente consultas SQL em Go.
- DBQ - Operações de banco de dados de caldeira zero para GO.
- Biblioteca DOTSQL - GO que ajuda você a manter os arquivos SQL em um só lugar e usá -los com facilidade.
- Gendry - Construtor SQL não invasivo e aglutinante de dados poderosos.
- Godbal - Camada de abstração do banco de dados (DBAL) para GO. Apoie o SQL Builder e obtenha o resultado facilmente.
- GOQU - IDIOMATIC SQL Builder and Query Library.
- GOSQL - SQL Consulta Builder com melhor suporte de valores nulos.
- Hotcoal - Prenda seu SQL artesanal contra a injeção.
- Igor - camada de abstração para o PostgreSQL que suporta funcionalidade avançada e usa sintaxe do tipo Gorm.
- Jet - Framework para escrever consultas SQL seguras de tipo, com capacidade de converter facilmente o resultado da consulta de banco de dados na estrutura de objetos arbitrários desejados.
- Ormlite - Pacote leve que contém alguns recursos e ajudantes do tipo ORM para bancos de dados SQLite.
- OZZO-DBX-Métodos poderosos de recuperação de dados, bem como recursos de consulta Agnóstica de DB.
- Qry - ferramenta que gera constantes de arquivos com consultas SQL brutas.
- SG - Um SQL Gen para gerar SQLs padrão (suporta: CRUD) escritos em Go.
- Sq - Builder SQL e Struct Mapper para Go.
- SQLC - Gere código seguro de tipo a partir de SQL.
- SQLF - Fast SQL Consulta Builder.
- SQLINGO - Um DSL leve para construir SQL em Go.
- SQRL - SQL Query Builder, garfo de esquilo com desempenho aprimorado.
- Squalus - Camada fina sobre o pacote Go SQL que facilita o desempenho de consultas.
- Squirrel - GO Biblioteca que ajuda você a criar consultas SQL.
- XO - Gere código GO idiomático para bancos de dados com base em definições de esquema existentes ou consultas personalizadas que suportam o PostgreSQL, MySQL, SQLite, Oracle e Microsoft SQL Server.
⬆ de volta ao topo
Drivers de banco de dados
Interfaces em vários back -ends
- Cayley - Banco de dados de gráficos com suporte para vários back -ends.
- DSC - conectividade do armazenamento de dados para arquivos estruturados SQL, NOSQL.
- Dynamo-Uma abstração simples de valor-chave para armazenar tipos de dados algébricos e de dados vinculados nos serviços de armazenamento da AWS: AWS DynamoDB e AWS S3.
- GO-Transaction-manager-Gerente de transações com vários adaptadores (SQL, SQLX, Gorm, Mongo, ...) controla os limites da transação.
- GOKV - A abstração e implementações de armazenamento de valor -chave simples para GO (redis, cônsul, etcd, bbolt, badgerdb, nívelDB, memcached, dynamoDB, s3, pós -fgressql, mongodb, barata e muito mais).
Drivers de banco de dados relacionais
- Avatica - Apache Avatica/Phoenix SQL Driver para banco de dados/SQL.
- BGC - Conectividade do DataStore para BigQuery para GO.
- Firebirdsql - Firebird RDBMS SQL Driver para GO.
- GO -ADODB - Microsoft ActiveX Object Database Driver para GO que usa o banco de dados/SQL.
- GO -MSSQLDB - Microsoft MSSQL Driver para GO.
- GO -OCI8 - Oracle Driver para Go que usa banco de dados/SQL.
- GO-SQL-DRIVER/MYSQL-Driver MySQL para GO.
- GO -SQLITE3 - SQLITE3 Driver para GO que usa banco de dados/SQL.
- Godror - Oracle Driver para GO, usando o driver ODPI -C.
- Gofreetds - Microsoft MSSQL Driver. Vá invadir os freetds.
- KSQL - Uma biblioteca simples e poderosa de Golang SQL
- PGX - Recursos de suporte ao driver PostGresql além daqueles expostos pelo banco de dados/SQL.
- Porco - o wrapper PGX simples para executar e digitalizar resultados de consultas facilmente.
- PQ - Driver pós -GRES Pure GO para banco de dados/SQL.
- SQINN -GO - SQLITE COM PURO GO.
- SQLHOOKS - Anexe ganchos a qualquer driver de banco de dados/SQL.
- surrealdb.go - motorista surrealdb para ir.
- YDB-GO-SDK-Nativo e Driver de Database/SQL YDB (banco de dados Yandex)
Drivers de banco de dados NoSQL
- cliente aeroespike-client-cliente aeroespike no idioma Go.
- Arangolito - Driver de Golang leve para Arangodb.
- ASC - conectividade do armazenamento de dados para aeroespike para go.
- Forestdb - vá encadernas para Forestdb.
- GO -Couchbase - cliente Couchbase em Go.
- Go-Mongox-Uma biblioteca Go Mongo baseada no driver oficial, com operações de documentos simplificadas, ligação genérica de estruturas a coleções, crud interno, agregação, atualizações automatizadas de campo, validação de estrutura, ganchos e programação baseada em plug-in.
- GO -PILOSA - GO BIBLIOTECA DE CLIENTO PARA PILOSA.
- Go -Rejson - Golang Client para o módulo Redislabs da Rejson usando o cliente Redigo Golang. Armazene e manipule estruturas como JSON objetos em redis com facilidade.
- GOCB - Couchbase Official Go Sdk.
- GOCOSMOS - REST Client e
database/sql
para Azure Cosmos DB. - GOCQL - GO Driver de idiomas para Apache Cassandra.
- Godis - Redis Client implement por Golang, inspirado por Jedis.
- GodScache - um invólucro para o pacote de dados do Google Cloud Platform Go que adiciona cache usando o memcached.
- Gomemcache - Memcache Client Library para a linguagem de programação GO.
- Gomemcached - Um cliente binário de memcached para ir com suporte para sharding usando hash consistente, juntamente com o SASL.
- GORETHINK - GO Driver de idiomas para Rethinkdb.
- GORIAK - GO Driver de idiomas para Riak KV.
- Kivik - Kivik fornece uma biblioteca de clientes GO Common Go e Gopherjs para CouchDB, PouchDB e bancos de dados similares.
- MGM - ODM baseado em modelo MongoDB para GO (com base no motorista oficial do MongoDB).
- MGO - (sem manutenção) MongoDB Driver para o idioma Go que implementa uma seleção rica e bem testada de recursos sob uma API muito simples, seguindo idiomas de Go Standard.
- Mongo-Go-Driver-motorista oficial do MongoDB para o idioma Go.
- NEO4J - NEO4J REST API LINDAÇÕES PARA GOLANG.
- NEO4J -GO - NEO4J REST Client em Golang.
- Neoísmo - cliente neo4j para Golang.
- QMGO - O motorista do MongoDB para GO. É baseado no motorista oficial do MongoDB, mas mais fácil de usar como o MGO.
- Redeo - Servidores/Serviços TCP compatíveis com protocolo Redis.
- Redigo - Redigo é um cliente GO para o banco de dados Redis.
- Redis - Cliente Redis para Golang.
- Rueidis - Cliente Redis Redis Redis com Pipelining Auto e cache lateral do cliente assistido por servidor.
- Xredis - TypeAfe, personalizável, limpo e fácil de usar o cliente Redis.
Banco de dados de pesquisa e analítico
- Clickhouse -Go - Clickhouse SQL Client para ir com uma compatibilidade com
database/sql
. - Effdsl - Elasticsearch Consulta Builder para Go.
- Elastic - Elasticsearch Client para go.
- ElasticSQL - Converta SQL em Elasticsearch DSL em Go.
- Elastigo - Biblioteca do cliente Elasticsearch.
- GO -ELASTICSearch - Cliente oficial do Elasticsearch para GO.
- VAI - Biblioteca para interagir com o Elasticsearch.
- Skizze - Serviço e armazenamento probabilísticos de estruturas de dados.
⬆ de volta ao topo
Data e hora
Bibliotecas para trabalhar com datas e horários.
- Aprox - Uma extensão de duração que suporta durações de análise/impressão em dias, semanas e anos.
- Carbono - Um pacote simples, semântico e amigável para o desenvolvedor para o DateTime.
- Carbono - Extensão de tempo simples com muitos métodos utilizados, portados da Biblioteca de Carbono PHP.
- CRONRANGE - Expressões de intervalo de tempo no estilo Cron, verifica se o tempo fornecido estiver dentro de qualquer intervalos.
- Data-Aumenta a hora para trabalhar com datas, intervalos de data, vãos da hora, períodos e hora do dia.
- DATEPARSE - A DATA DATES DE ALVIMENTO SEM CONHECER o formato com antecedência.
- Durafmt - Biblioteca de formatação de duração do tempo para GO.
- FEIERTAGE - Conjunto de funções para calcular feriados públicos na Alemanha, incl. Especialização nos Estados da Alemanha (Bundesländer). Coisas como Páscoa, Pentecostes, Ação de Graças ...
- GO -ANUAL - Datas de análise/horários como "Próximo 22 de dezembro às 15h" e variações como "de hoje até a próxima quinta -feira" sem conhecer o formato com antecedência.
- GO -DATEBIN - Um simples parse de DateTime PKG.
- GO-PERSIAN-CALENDAR-A implementação do calendário persa (hijri solar) em Go (Golang).
- GO -STR2DURATION - Converta a string em duração. Time de suporte.Duration Retorn String e muito mais.
- GO -SUNRIZE - Calcule os tempos do nascer e do pôr do sol para um determinado local.
- GO -WEEK - Um pacote eficiente para trabalhar com datas de semana ISO8601.
- GOSTRADAMUS - Um pacote Go para trabalhar com datas.
- ISO8601 - Analise com eficiência ISO8601 DATE -TIMES SEM REGEX.
- Kair - Data e hora - Biblioteca de formatação de Golang.
- Agora - agora é um kit de ferramentas para Golang.
- STRFTIME - FORMATILENTO COMPATÍVEL DE C99.
- Timespan - Para interagir com intervalos de tempo, definidos como um horário de início e uma duração.
- TimeUtil - Extensões úteis (timedelta, strftime, ...) para o pacote de tempo de Golang.
- Terça -feira - Função do Strftime compatível com rubi.
⬆ de volta ao topo
Sistemas distribuídos
Pacotes que ajudam na construção de sistemas distribuídos.
- ARPC-Comunicação de rede mais eficaz, suporta uma transmissão bidirecional, notificar, transmitir.
- Bedrock - Fornece uma base mínima, modular e composta para o desenvolvimento de serviços rapidamente e mais estruturas específicas de casos de uso em Go.
- Capilares - Estrutura de processamento de dados em lote distribuído.
- CELERIAC - Biblioteca para adicionar suporte para interagir e monitorar trabalhadores, tarefas e eventos de aipo.
- Hash consistente - consistente com cargas limitadas.
- consistência - hash consistente com réplicas configuráveis.
- DHT - Bittorrent Kademlia DHT Implementação.
- Digota - Microservice de comércio eletrônico GRPC.
- fazer