← Go
Go: Libraries and tooling
Building blocks used in Go projects: templating, data access, tests, build and operations.
Templating and user interfaces
- html/template Safe templates from the standard library
- templ Type-safe HTML components
- htmx Dynamic pages without a JavaScript framework
Database
- database/sql + pgx Standard interface and the PostgreSQL driver
- sqlc Type-safe code generated from SQL queries
- GORM The most used ORM
- Ent Entity framework with a graph schema
- Bun SQL-first ORM
- sqlx Extensions for database/sql
- golang-migrate / goose / Atlas Migrations
- go-redis Redis client
Libraries
- Cobra / Viper Command lines and configuration
- slog / Zap / Zerolog Structured logging
- validator Struct validation
- golang-jwt / oauth2 Tokens and OAuth
- Casbin Access control
- Wire / fx Dependency injection
- NATS / Watermill Messaging and event processing
- Asynq Background jobs over Redis
- Temporal Durable workflows
- OpenTelemetry Tracing and metrics
Testing and tooling
- testing Tests and benchmarks from the standard library
- Testify Assertions and mocks
- Ginkgo / Gomega Behaviour-driven tests
- Testcontainers for Go Real services in tests
- mockery / GoMock Generated mocks
- golangci-lint Linter collection
- Air Live reload during development
- k6 Load testing
More on Go
A project with Go?
New development, replacement or extending an existing system: tell us briefly what it is about. We will tell you what works in practice.