Go de coração aberto: 10 repositórios GitHub que mudarão seu código

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Go — não é apenas moda, é eficiência

\n\n

Você já se perguntou por que cada vez mais startups e gigantes como Google, Docker e Kubernetes escolhem Go (Golang)? Não é apenas pela velocidade de compilação. Go é uma linguagem que torna o complexo simples. Ela foi criada para sistemas escaláveis, microsserviços e utilitários de linha de comando. E o principal — Go tem uma comunidade incrivelmente amigável e um mar de projetos open source no GitHub.

\n\n

Neste artigo, não vamos listar centenas de repositórios. Selecionamos os 10 melhores repositórios Go que realmente serão úteis no seu trabalho. De frameworks web poderosos a ferramentas práticas para desenvolvedores. E sim, mostraremos exemplos de código Go para você entender imediatamente como funciona.

\n\n

Top 10 repositórios Go que valem um fork

\n\n

1. Gin — o framework web mais rápido

\n

Repositório: gin-gonic/gin

\n

Se você procura um framework web em Go que não trava e não é sobrecarregado de magia, Gin é a sua escolha. Ele é muito mais rápido que o padrão net/http e oferece um roteador conveniente com suporte a middleware.

\n\n

Exemplo de código:

\n
package main\n\nimport "github.com/gin-gonic/gin"\n\nfunc main() {\n    r := gin.Default()\n    r.GET("/hello", func(c *gin.Context) {\n        c.JSON(200, gin.H{\n            "message": "Olá, mundo Go!",\n        })\n    })\n    r.Run() // escuta na porta 8080\n}
\n\n

Gin é ideal para APIs REST e microsserviços. Graças à comunidade ativa, você encontrará milhares de exemplos e plugins.

\n\n

2. Cobra — crie CLI como um profissional

\n

Repositório: spf13/cobra

\n

Qualquer ferramenta Go que se preze deve ter uma CLI conveniente. Cobra é o padrão de facto para criar interfaces de linha de comando. É usado por Docker, Kubernetes, Hugo e muitos outros.

\n\n

Exemplo de código:

\n
var rootCmd = &cobra.Command{\n    Use:   "myapp",\n    Short: "Minha aplicação incrível",\n    Run: func(cmd *cobra.Command, args []string) {\n        fmt.Println("Hello from myapp!")\n    },\n}\n\nfunc main() {\n    rootCmd.Execute()\n}
\n\n

Cobra gera automaticamente help, suporta subcomandos e flags. É indispensável se você escreve utilitários em Go.

\n\n

3. Go Kit — conjunto de ferramentas para microsserviços

\n

Repositório: go-kit/kit

\n

Quando sua aplicação supera o monolito, o Go Kit vem ao resgate. Não é um framework, mas um conjunto de bibliotecas para construir microsserviços robustos: logging, métricas, circuit breaker, service discovery.

\n\n

Go Kit segue princípios de arquitetura limpa. Se você quer escrever código pronto para produção, é um must-have entre as bibliotecas Go.

\n\n

4. GORM — ORM para quem não quer escrever SQL manualmente

\n

Repositório: go-gorm/gorm

\n

Trabalhar com bancos de dados em Go pode ser conciso. GORM é o ORM mais popular, que transforma o trabalho com PostgreSQL, MySQL, SQLite em um prazer.

\n\n

Exemplo de código:

\n
type User struct {\n    ID   uint\n    Name string\n    Age  int\n}\n\nfunc main() {\n    db, _ := gorm.Open(sqlite.Open("test.db"), &gorm.Config{})\n    db.AutoMigrate(&User{})\n\n    db.Create(&User{Name: "Alexei", Age: 30})\n}
\n\n

GORM suporta migrações, hooks, eager loading e até transações. Excelente escolha para aplicações web em Go.

\n\n

5. Viper — gerenciamento de configuração sem dor

\n

Repositório: spf13/viper

\n

Configurações de aplicação são uma dor de cabeça eterna. Viper resolve isso de uma vez por todas. Ele lê JSON, YAML, TOML, variáveis de ambiente e até configurações remotas do etcd.

\n\n

Exemplo de código:

\n
viper.Set                

Blogs

Book Recommendations