Audio & Video
Codecs, containers and media processing.
-
1
opuspion/opus★ 563
Implementation of the Opus audio codec per RFC 6716, with bitstream internals exported for analysis.
-
2
hi264Eyevinn/hi264★ 23
Decoder for H.264 IDR frames and generator of test bitstreams, with fMP4 fragment extension.
-
3
go-flactphakala/go-flac★ 2
FLAC encoder and decoder with SIMD acceleration, no cgo, and output bit-exact with libFLAC.
Caching
In-memory caches and eviction policies.
- 1 ★ 8.2k
- 2 ★ 2.7k
- 3 ★ 41
Command Line
Argument parsing, terminal UIs and everything else for building CLIs.
-
1
bubbleteacharmbracelet/bubbletea★ 45k
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★ 0
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★ 2.9k
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★ 52k
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 ★ 613
-
7
duckdb-goduckdb/duckdb-go★ 299
Official database/sql driver for DuckDB, the embedded analytical engine, with Appender and Arrow.
-
8
modernc.org/sqlitemodernc-org/sqlite★ 109
SQLite translated from C, so database/sql gets an embedded database without cgo or a C toolchain.
Dependency Injection
Wiring applications together.
- 1 ★ 5
Developer Tools
Linters, build tools, debuggers, code generators and terminal tools for daily development work.
-
1
fzfjunegunn/fzf★ 83k
Interactive fuzzy finder for the command line, with shell integration for files and history.
-
2
lazygitjesseduffield/lazygit★ 83k
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★ 19k
Linters runner that aggregates dozens of linters with caching, parallelism and a single config.
-
6
lfkjanosmiko/lfk★ 911
Kubernetes TUI with yazi-style Miller columns over the owner hierarchy, plus Helm and trivy.
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★ 36k
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.
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★ 1
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 ★ 89k
- 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.