Rápido
Roteamento baseado em árvore radix, baixo consumo de memória. Sem reflection. Desempenho de API previsível.
Gin é um framework web escrito em Golang. Possui uma API semelhante ao Martini, mas com desempenho até 40 vezes mais rápido que o Martini. Se você precisa de desempenho e produtividade, vai adorar o Gin.
Rápido
Roteamento baseado em árvore radix, baixo consumo de memória. Sem reflection. Desempenho de API previsível.
Suporte a middleware
Uma requisição HTTP recebida pode ser tratada por uma cadeia de middlewares e pela ação final. Por exemplo: Logger, Autorização, GZIP e, por fim, publicar uma mensagem no banco de dados.
À prova de falhas
O Gin pode capturar um panic ocorrido durante uma requisição HTTP e recuperá-lo. Dessa forma, seu servidor estará sempre disponível. Também é possível reportar esse panic para o Sentry, por exemplo!
Validação de JSON
O Gin pode analisar e validar o JSON de uma requisição, verificando, por exemplo, a existência de valores obrigatórios.
Agrupamento de rotas
Organize suas rotas de forma melhor. Com ou sem autorização, diferentes versões de API. Além disso, os grupos podem ser aninhados infinitamente sem degradar o desempenho.
Gerenciamento de erros
O Gin oferece uma maneira conveniente de coletar todos os erros ocorridos durante uma requisição HTTP. Eventualmente, um middleware pode gravá-los em um arquivo de log, em um banco de dados ou enviá-los pela rede.
Renderização integrada
O Gin fornece uma API fácil de usar para renderização de JSON, XML e HTML.
Extensível
Criar novos middlewares é muito fácil, basta conferir o código de exemplo.