Audio & Video
Codecs, containers and media processing.
-
1
opuspion/opus★ 565
Implementation of the Opus audio codec per RFC 6716, with bitstream internals exported for analysis.
-
2
hi264Eyevinn/hi264★ 25
Decoder for H.264 IDR frames and generator of test bitstreams, with fMP4 fragment extension.
-
3
go-flactphakala/go-flac★ 4
FLAC encoder and decoder with SIMD acceleration, no cgo, and output bit-exact with libFLAC.
Caching
In-memory caches and eviction policies.
-
1
groupcachegolang/groupcache★ 13k
Distributed caching and cache-filling library, often used in place of memcached.
- 2 ★ 8.2k
- 3 ★ 2.7k
-
4
evictfloatdrop/evict★ 1
Fixed-capacity in-memory caches with LRU, 2Q, SIEVE, S3-FIFO and TinyLFU eviction.
Command Line
Argument parsing, terminal UIs and everything else for building CLIs.
-
1
bubbleteacharmbracelet/bubbletea★ 46k
Framework for terminal user interfaces based on The Elm Architecture.
-
2
cobraspf13/cobra★ 45k
Framework for CLI applications with subcommands, flags, shell completions and generated docs.
- 3 ★ 3.4k
-
4
kongalecthomas/kong★ 3.2k
Command-line parser where the whole grammar is a struct and commands are typed Run methods.
-
5
ffpeterbourgon/ff★ 1.4k
Extends the standard flag package with env vars, config files and subcommands, without replacing it.
Concurrency
Goroutine pools, structured concurrency, synchronization helpers and actor frameworks.
- 1 ★ 2.2k
-
2
grpcprocfloatdrop/grpcproc★ 2
Erlang-style processes with typed protobuf mailboxes and monitors across nodes, on a gRPC server.
Configuration
Loading settings from files, environment variables and flags.
-
1
koanfknadh/koanf★ 4.2k
Configuration management with pluggable providers and parsers merged in explicit layers.
Data Structures
Bitsets, compressed bitmaps and other containers beyond slices and maps.
-
1
roaringRoaringBitmap/roaring★ 3k
Compressed bitmaps for sparse or huge integer sets, with fast set operations and serialization.
-
2
bloombits-and-blooms/bloom★ 2.8k
Probabilistic set membership with Bloom filters sized from a target false positive rate.
-
3
bitsetbits-and-blooms/bitset★ 1.5k
Bitsets with set algebra, population counts, fast iteration over set bits and serialization.
Databases & SQL
Drivers, query builders, ORMs, migrations, embedded and distributed stores.
-
1
etcdetcd-io/etcd★ 53k
Distributed key-value store with Raft consensus, watches and leases, plus its client.
-
2
go-redisredis/go-redis★ 22k
Redis client with cluster, sentinel and ring support, pipelines, pub/sub and OpenTelemetry hooks.
- 3 ★ 18k
-
4
pgxjackc/pgx★ 14k
PostgreSQL driver and toolkit with a native API, connection pool, binary protocol and COPY support.
-
5
bunuptrace/bun★ 5k
SQL-first ORM over database/sql with a query builder, relations, hooks and migrations.
- 6 ★ 615
-
7
duckdb-goduckdb/duckdb-go★ 314
Official database/sql driver for DuckDB, the embedded analytical engine, with Appender and Arrow.
-
8
modernc.org/sqlitemodernc-org/sqlite★ 125
SQLite translated from C, so database/sql gets an embedded database without cgo or a C toolchain.
Dependency Injection
Wiring applications together.
- 1 ★ 15
Developer Tools
Linters, build tools, debuggers, code generators and terminal tools for daily development work.
-
1
fzfjunegunn/fzf★ 84k
Interactive fuzzy finder for the command line, with shell integration for files and history.
-
2
lazygitjesseduffield/lazygit★ 84k
Terminal UI for git with staging, rebasing, stashing and worktrees a keystroke away.
-
3
delvego-delve/delve★ 25k
Debugger with goroutine-aware breakpoints, core dump analysis and remote debugging over DAP.
-
4
airair-verse/air★ 24k
Live reload that watches the tree, rebuilds and restarts the binary with a single config file.
-
5
golangci-lintgolangci/golangci-lint★ 20k
Linters runner that aggregates dozens of linters with caching, parallelism and a single config.
-
6
lfkjanosmiko/lfk★ 932
Kubernetes TUI with yazi-style Miller columns over the owner hierarchy, plus Helm and trivy.
-
7
vanitypagesfloatdrop/vanitypages★ 1
Generates static sites for vanity import paths with module and package pages.
Embedded & Hardware
Compilers, frameworks and drivers for microcontrollers, boards and the devices attached to them.
-
1
tinygotinygo-org/tinygo★ 18k
Compiler for microcontrollers, WebAssembly and small binaries, built on LLVM.
GUI & Desktop
Desktop application frameworks and GUI toolkits.
-
1
wailswailsapp/wails★ 37k
Desktop applications with a Go backend and a web frontend, using the native webview.
Messaging & Queues
Message brokers, streaming platforms and task queues.
-
1
nats.gonats-io/nats.go★ 6.8k
Client for the NATS messaging system, including JetStream streams, key-value and object stores.
Networking & Protocols
Protocol implementations, transports and low-level network plumbing.
-
1
webrtcpion/webrtc★ 17k
Pure implementation of the WebRTC stack: ICE, DTLS, SRTP, data channels and media tracks.
- 2 ★ 3
Observability
Metrics, tracing and instrumentation.
-
1
opentelemetry-goopen-telemetry/opentelemetry-go★ 6.6k
Vendor-neutral SDK for traces, metrics and logs with OTLP and Prometheus exporters.
Resilience
Retries, backoff, circuit breakers and other patterns for surviving failing dependencies.
-
1
backoffcenkalti/backoff★ 4.1k
Exponential backoff with jitter for retries, honoring context cancellation and permanent errors.
-
2
gobreakersony/gobreaker★ 3.7k
Circuit breaker with configurable trip conditions, state change hooks and a generic two-step API.
-
3
debouncefloatdrop/debounce★ 37
Debouncer with leading and trailing edges and limits so bursts cannot delay calls forever.
Testing
Assertions, mocks, fixtures and integration test helpers.
- 1 ★ 26k
-
2
testcontainers-gotestcontainers/testcontainers-go★ 5k
Throwaway Docker containers for integration tests, with ready modules for databases and brokers.
-
3
go-cmpgoogle/go-cmp★ 4.7k
Equality comparison of arbitrary values for tests, with readable diffs and custom options.
Utilities
General-purpose helpers that end up in every project.
-
1
fsmfloatdrop/fsm★ 2
Finite state machine where the caller owns the state and events carry typed payloads.
Validation
Validating structs and inputs.
-
1
validatorgo-playground/validator★ 20k
Struct and field validation using tags, with cross-field rules, custom validators and translations.
-
2
ozzo-validationgo-ozzo/ozzo-validation★ 4.2k
Validation rules written as code rather than tags, with conditional rules and field-keyed errors.
-
3
jsonschemasanthosh-tekuri/jsonschema★ 1.3k
Validation against JSON Schema drafts 4 through 2020-12, with detailed errors and custom formats.
-
4
zogOudwins/zog★ 1.2k
Schema builder that parses untyped input into structs and validates it in one step, like Zod.
Web Frameworks & Routers
HTTP servers, routers and full-stack web frameworks.
- 1 ★ 90k
- 2 ★ 23k
Blog Posts
Articles that changed how people write Go at work.
-
Go for Industrial Programmingpeter.bourgon.org
Peter Bourgon on structuring team codebases: configuration, dependencies, logging and testing.
Books
Books worth reading cover to cover.
-
100 Go Mistakes and How to Avoid Them100go.co
Teiva Harsanyi's catalogue of common pitfalls, from slices and maps to concurrency and testing.
-
Learning Go, 2nd Editionoreilly.com
Jon Bodner's guide to idiomatic modern practice, from generics to concurrency and testing.
Documentation
Official guides and references for learning and using the language.
-
A Tour of Gogo.dev
Interactive introduction that runs in the browser, from basic syntax to generics and concurrency.
-
Effective Gogo.dev
Official guide to clear, idiomatic code: naming, formatting, interfaces, errors and concurrency.
-
Go Optimization Guidegoperf.dev
Patterns for high-performance services: memory, GC tuning, concurrency, profiling and benchmarks.
-
Go Recipesgithub.com
Cookbook of tool recipes for testing, dependencies, code generation, profiling and static analysis.
Podcasts
Shows worth a spot in your queue.
-
Cup o' Gocupogo.dev
Weekly fifteen-minute rundown of news, releases and proposals with Jonathan Hall and Shay Nehmad.
Videos
Talks and courses worth watching from start to finish.
-
Go Class by Matt KØDVByoutube.com
Matt Holiday's university-style lecture course, from basic types to concurrency and testing.
Nothing matches.