Go libraries
28 libraries across 9 topics
28 libraries
Gin
Gin is a high-performance HTTP web framework for Go with a martini-like API. It provides routing, middleware, JSON binding and validation on top of net/http, and is one of the most widely used Go web frameworks.
Web & HTTP3 examplesEcho
Echo is a minimalist, high-performance Go web framework with a strong middleware system, automatic TLS via Let's Encrypt, and first-class data binding and validation. It emphasises an explicit, well-typed handler signature.
Web & HTTP3 examplesFiber
Fiber is a Go web framework built on fasthttp rather than net/http, with an API deliberately modelled on Express.js. It targets maximum raw throughput and low memory allocation.
Web & HTTP3 exampleschi
chi is a lightweight, idiomatic HTTP router for Go that is fully compatible with net/http. Handlers are plain http.HandlerFunc, so any standard-library middleware works without adaptation.
Web & HTTP3 examplesGorilla Mux
gorilla/mux is a powerful URL router and dispatcher for Go, supporting matching on host, path, headers, query values and HTTP methods. It is part of the long-established Gorilla web toolkit.
Web & HTTP3 examplesResty
Resty is a simple, chainable HTTP and REST client for Go, adding retries, middleware, automatic marshalling and response parsing on top of net/http.
Web & HTTP3 examplesGORM
GORM is the most widely used ORM for Go, offering associations, hooks, migrations, transactions and eager loading over a struct-based model definition.
Databases & Caching3 examplessqlx
sqlx is a thin set of extensions over Go's database/sql that adds struct scanning, named parameters and helpers, without becoming an ORM.
Databases & Caching3 examplespgx
pgx is a PostgreSQL driver and toolkit for Go that bypasses database/sql to expose PostgreSQL-specific features and significantly better performance.
Databases & Caching3 examplessqlc
sqlc generates fully type-safe Go code from your SQL queries. You write .sql files; it produces Go functions with typed parameters and return structs.
Databases & Caching3 examplesgo-redis
go-redis is the most widely used Redis client for Go, supporting cluster mode, sentinel, pipelining, pub/sub and streams with a context-aware API.
Databases & Caching3 examplesCobra
Cobra is the CLI framework behind kubectl, Hugo, GitHub CLI and Docker, providing nested subcommands, flag parsing, help generation and shell completion.
Developer Utilities3 examplesViper
Viper is a configuration library that merges defaults, config files, environment variables, flags and remote key stores into one lookup, with live reloading.
Developer Utilities3 examplesZap
Zap is Uber's structured logging library for Go, designed for very low allocation overhead in hot paths while producing machine-readable JSON.
Observability3 exampleszerolog
zerolog is a zero-allocation JSON logger for Go with a chainable API, aimed at the same performance goals as Zap with a lighter interface.
Observability3 examplesTestify
Testify adds assertions, mocks and test suites on top of Go's standard testing package, and is the most widely used Go testing library.
Testing3 examplesgRPC-Go
The official Go implementation of gRPC — typed RPC over HTTP/2 with generated clients and servers, streaming in both directions, deadlines and interceptors.
Networking & Concurrency2 examplesProtocol Buffers (Go)
The Go implementation of Protocol Buffers — compact binary serialisation with a schema, generated types and forward and backward compatibility.
Serialization & Formats2 examplesSarama
Sarama is a pure-Go client for Apache Kafka, supporting producers, consumer groups, offset management and the admin API with no cgo dependency.
Messaging & Streaming2 examplesNATS Go Client
The Go client for NATS, a lightweight messaging system supporting publish/subscribe, request/reply and queue groups, with optional persistence via JetStream.
Messaging & Streaming2 examplesvalidator
go-playground/validator performs struct validation from field tags, covering required fields, ranges, formats, cross-field rules and custom validators.
Developer Utilities2 examplesgolang-jwt
golang-jwt is the maintained community fork of dgrijalva/jwt-go, providing JSON Web Token signing, parsing and validation.
Security2 examplesColly
Colly is a fast web scraping framework for Go with callback-based parsing, automatic rate limiting, caching, cookie handling and parallel collectors.
Web & HTTP2 examplesGJSON
GJSON reads values from JSON with a dot-notation path syntax, without defining structs or unmarshalling the whole document.
Serialization & Formats2 examplesrobfig/cron
A cron-expression job scheduler for Go, supporting standard cron syntax, descriptive shortcuts, time zones and second-level precision.
Developer Utilities2 examplesPrometheus Go Client
The official Go instrumentation library for Prometheus, providing counters, gauges, histograms and summaries plus an HTTP handler to expose them.
Observability2 examplesOpenTelemetry Go
The Go SDK for OpenTelemetry — vendor-neutral distributed tracing, metrics and logs that can be exported to Jaeger, Tempo, Datadog or any OTLP backend.
Observability2 examplesBubble Tea
Bubble Tea is a framework for building terminal user interfaces in Go, based on the Elm architecture of model, update and view.
Developer Utilities2 examples
Coverage by topic
What the Go ecosystem is deepest in — a reasonable proxy for what the language is used for.
- Web & HTTP7
- Databases & Caching5
- Developer Utilities5
- Observability4
- Messaging & Streaming2
- Serialization & Formats2
- Networking & Concurrency1
- Security1
- Testing1

