// the find
gogf/gf
A powerful framework for faster, easier, and more efficient project development.
GoFrame is a batteries-included Go web framework targeting enterprise teams, covering HTTP routing, ORM, configuration, logging, tracing, caching, and code generation under one roof. It's popular in the Chinese Go ecosystem and has real production usage. If you want the full-stack Django-ish experience in Go rather than composing smaller libraries, this is the main contender.
The `gf` CLI code generator is genuinely useful — it generates DAOs, controllers, and service interfaces from your database schema or API definitions, which cuts out the boilerplate that kills productivity in Go projects. Built-in OpenTelemetry tracing is wired through the entire stack (HTTP, ORM, Redis, logging) out of the box, so you get distributed traces without manually instrumenting every layer. The ORM's chainable query builder handles sharding, field mapping, and soft-delete without requiring struct tags everywhere. CI is thorough — they test against MySQL, PostgreSQL, SQLite, Redis, Consul, Nacos, and Apollo in GitHub Actions, which means integration breakage gets caught early.
The documentation is primarily Chinese and the English translation lags — you will hit pages that are machine-translated or simply missing. The framework is monolithic by design, meaning you're adopting their HTTP server, their logger, their config system, their ORM, and their error handling all at once; swapping any layer out is painful because the internals use GoFrame's own types throughout. The global-singleton pattern used for DB, cache, and config (`g.DB()`, `g.Redis()`) makes testing awkward without their own test helpers and creates implicit shared state that's easy to misuse. The `gf` CLI code generation is also opinionated to the point of being restrictive — it expects a specific project layout and will fight you if your structure differs.