# awesome-go
**Repository Path**: mirrors_floatdrop/awesome-go
## Basic Information
- **Project Name**: awesome-go
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: CC0-1.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-03-27
- **Last Updated**: 2026-10-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Awesome Go
> A short, hand-curated list of Go libraries and tools that are actually worth using. Not a directory of everything that exists.
50 projects in 19 categories. Every entry is added by a human through a pull request and checked against the [entry rules](CONTRIBUTING.md#entry-rules) by CI. An entry earns its place by covering something no listed project does, or by doing it better. Within each category the 10 most-starred projects are shown first and the rest are folded under More. Archived repositories are removed automatically. Stars were last refreshed on 2026-10-10.
Search, filter and sort the full list at [floatdrop.github.io/awesome-go](https://floatdrop.github.io/awesome-go/).
## Contents
- [Audio & Video](#audio--video)
- [Caching](#caching)
- [Command Line](#command-line)
- [Concurrency](#concurrency)
- [Configuration](#configuration)
- [Data Structures](#data-structures)
- [Databases & SQL](#databases--sql)
- [Dependency Injection](#dependency-injection)
- [Developer Tools](#developer-tools)
- [Embedded & Hardware](#embedded--hardware)
- [GUI & Desktop](#gui--desktop)
- [Messaging & Queues](#messaging--queues)
- [Networking & Protocols](#networking--protocols)
- [Observability](#observability)
- [Resilience](#resilience)
- [Testing](#testing)
- [Utilities](#utilities)
- [Validation](#validation)
- [Web Frameworks & Routers](#web-frameworks--routers)
- [Blog Posts](#blog-posts)
- [Books](#books)
- [Documentation](#documentation)
- [Podcasts](#podcasts)
- [Videos](#videos)
## Audio & Video
Codecs, containers and media processing.
-
[opus](https://github.com/pion/opus) - Implementation of the Opus audio codec per RFC 6716, with bitstream internals exported for analysis.
-
[hi264](https://github.com/Eyevinn/hi264) - Decoder for H.264 IDR frames and generator of test bitstreams, with fMP4 fragment extension.
-
[go-flac](https://github.com/tphakala/go-flac) - FLAC encoder and decoder with SIMD acceleration, no cgo, and output bit-exact with libFLAC.
## Caching
In-memory caches and eviction policies.
-
[bigcache](https://github.com/allegro/bigcache) - Efficient in-memory cache for gigabytes of data without GC overhead.
-
[otter](https://github.com/maypok86/otter) - Concurrent in-memory cache tuned for high hit ratio and low contention.
-
[go-sieve](https://github.com/opencoff/go-sieve) - Generic in-memory cache with SIEVE eviction and a lock-free read path.
## Command Line
Argument parsing, terminal UIs and everything else for building CLIs.
-
[bubbletea](https://github.com/charmbracelet/bubbletea) - Framework for terminal user interfaces based on The Elm Architecture.
-
[cobra](https://github.com/spf13/cobra) - Framework for CLI applications with subcommands, flags, shell completions and generated docs.
-
[log](https://github.com/charmbracelet/log) - Minimal, colorful logger with a slog handler and structured key-value output.
-
[kong](https://github.com/alecthomas/kong) - Command-line parser where the whole grammar is a struct and commands are typed Run methods.
-
[ff](https://github.com/peterbourgon/ff) - 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.
-
[pond](https://github.com/alitto/pond) - Bounded worker pool with generics, result groups, context cancellation and subpools.
-
[grpcproc](https://github.com/floatdrop/grpcproc) - Erlang-style processes with typed protobuf mailboxes and monitors across nodes, on a gRPC server.
## Configuration
Loading settings from files, environment variables and flags.
-
[koanf](https://github.com/knadh/koanf) - Configuration management with pluggable providers and parsers merged in explicit layers.
## Data Structures
Bitsets, compressed bitmaps and other containers beyond slices and maps.
-
[roaring](https://github.com/RoaringBitmap/roaring) - Compressed bitmaps for sparse or huge integer sets, with fast set operations and serialization.
-
[bloom](https://github.com/bits-and-blooms/bloom) - Probabilistic set membership with Bloom filters sized from a target false positive rate.
-
[bitset](https://github.com/bits-and-blooms/bitset) - Bitsets with set algebra, population counts, fast iteration over set bits and serialization.
## Databases & SQL
Drivers, query builders, ORMs, migrations, embedded and distributed stores.
-
[etcd](https://github.com/etcd-io/etcd) - Distributed key-value store with Raft consensus, watches and leases, plus its client.
-
[go-redis](https://github.com/redis/go-redis) - Redis client with cluster, sentinel and ring support, pipelines, pub/sub and OpenTelemetry hooks.
-
[sqlc](https://github.com/sqlc-dev/sqlc) - Compiler that generates type-safe code from SQL queries.
-
[pgx](https://github.com/jackc/pgx) - PostgreSQL driver and toolkit with a native API, connection pool, binary protocol and COPY support.
-
[bun](https://github.com/uptrace/bun) - SQL-first ORM over database/sql with a query builder, relations, hooks and migrations.
-
[scan](https://github.com/blockloop/scan) - Map database/sql rows onto structs, slices and primitives using struct tags.
-
[duckdb-go](https://github.com/duckdb/duckdb-go) - Official database/sql driver for DuckDB, the embedded analytical engine, with Appender and Arrow.
-
[modernc.org/sqlite](https://github.com/modernc-org/sqlite) - SQLite translated from C, so database/sql gets an embedded database without cgo or a C toolchain.
## Dependency Injection
Wiring applications together.
-
[di](https://github.com/yandex/di) - Dependency injection container with typed constructors, lifecycle hooks and scopes.
## Developer Tools
Linters, build tools, debuggers, code generators and terminal tools for daily development work.
-
[fzf](https://github.com/junegunn/fzf) - Interactive fuzzy finder for the command line, with shell integration for files and history.
-
[lazygit](https://github.com/jesseduffield/lazygit) - Terminal UI for git with staging, rebasing, stashing and worktrees a keystroke away.
-
[delve](https://github.com/go-delve/delve) - Debugger with goroutine-aware breakpoints, core dump analysis and remote debugging over DAP.
-
[air](https://github.com/air-verse/air) - Live reload that watches the tree, rebuilds and restarts the binary with a single config file.
-
[golangci-lint](https://github.com/golangci/golangci-lint) - Linters runner that aggregates dozens of linters with caching, parallelism and a single config.
-
[lfk](https://github.com/janosmiko/lfk) - 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.
-
[tinygo](https://github.com/tinygo-org/tinygo) - Compiler for microcontrollers, WebAssembly and small binaries, built on LLVM.
## GUI & Desktop
Desktop application frameworks and GUI toolkits.
-
[wails](https://github.com/wailsapp/wails) - Desktop applications with a Go backend and a web frontend, using the native webview.
## Messaging & Queues
Message brokers, streaming platforms and task queues.
-
[nats.go](https://github.com/nats-io/nats.go) - Client for the NATS messaging system, including JetStream streams, key-value and object stores.
## Networking & Protocols
Protocol implementations, transports and low-level network plumbing.
-
[webrtc](https://github.com/pion/webrtc) - Pure implementation of the WebRTC stack: ICE, DTLS, SRTP, data channels and media tracks.
-
[moq-go](https://github.com/floatdrop/moq-go) - Media over QUIC transport library and relay tracking the IETF MoQ drafts.
## Observability
Metrics, tracing and instrumentation.
-
[opentelemetry-go](https://github.com/open-telemetry/opentelemetry-go) - 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.
-
[backoff](https://github.com/cenkalti/backoff) - Exponential backoff with jitter for retries, honoring context cancellation and permanent errors.
-
[gobreaker](https://github.com/sony/gobreaker) - Circuit breaker with configurable trip conditions, state change hooks and a generic two-step API.
## Testing
Assertions, mocks, fixtures and integration test helpers.
-
[testify](https://github.com/stretchr/testify) - Assertions, mocks and suites that work with the standard testing package.
-
[testcontainers-go](https://github.com/testcontainers/testcontainers-go) - Throwaway Docker containers for integration tests, with ready modules for databases and brokers.
-
[go-cmp](https://github.com/google/go-cmp) - Equality comparison of arbitrary values for tests, with readable diffs and custom options.
## Utilities
General-purpose helpers that end up in every project.
-
[fsm](https://github.com/floatdrop/fsm) - Finite state machine where the caller owns the state and events carry typed payloads.
## Validation
Validating structs and inputs.
-
[validator](https://github.com/go-playground/validator) - Struct and field validation using tags, with cross-field rules, custom validators and translations.
-
[ozzo-validation](https://github.com/go-ozzo/ozzo-validation) - Validation rules written as code rather than tags, with conditional rules and field-keyed errors.
-
[jsonschema](https://github.com/santhosh-tekuri/jsonschema) - Validation against JSON Schema drafts 4 through 2020-12, with detailed errors and custom formats.
-
[zog](https://github.com/Oudwins/zog) - 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.
-
[gin](https://github.com/gin-gonic/gin) - HTTP web framework with a martini-like API and strong routing performance.
-
[chi](https://github.com/go-chi/chi) - Lightweight, idiomatic and composable router built on net/http.
## Blog Posts
Articles that changed how people write Go at work.
- [Go for Industrial Programming](https://peter.bourgon.org/go-for-industrial-programming/) - 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 Them](https://100go.co/book/) - Teiva Harsanyi's catalogue of common pitfalls, from slices and maps to concurrency and testing.
- [Learning Go, 2nd Edition](https://www.oreilly.com/library/view/learning-go-2nd/9781098139285/) - 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 Go](https://go.dev/tour/) - Interactive introduction that runs in the browser, from basic syntax to generics and concurrency.
- [Effective Go](https://go.dev/doc/effective_go) - Official guide to clear, idiomatic code: naming, formatting, interfaces, errors and concurrency.
- [Go Optimization Guide](https://goperf.dev/) - Patterns for high-performance services: memory, GC tuning, concurrency, profiling and benchmarks.
- [Go Recipes](https://github.com/nikolaydubina/go-recipes/blob/main/README.md) - Cookbook of tool recipes for testing, dependencies, code generation, profiling and static analysis.
- [Go Release Interactive Tours](https://victoriametrics.com/blog/go-1-27/) - Runnable examples of what changed in each release, from language features to the standard library. Versions: [1.27](https://victoriametrics.com/blog/go-1-27/) · [1.26](https://antonz.org/go-1-26/) · [1.25](https://antonz.org/go-1-25/) · [1.24](https://antonz.org/go-1-24/) · [1.23](https://antonz.org/go-1-23/) · [1.22](https://antonz.org/go-1-22/)
## Podcasts
Shows worth a spot in your queue.
- [Cup o' Go](https://cupogo.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ØDVB](https://www.youtube.com/playlist?list=PLoILbKo9rG3skRCj37Kn5Zj803hhiuRK6) - Matt Holiday's university-style lecture course, from basic types to concurrency and testing.
## Contributing
Read the [contribution guidelines](CONTRIBUTING.md) first. Every listed project gets its own [badge](CONTRIBUTING.md#badge) to show off.
## License
[](https://creativecommons.org/publicdomain/zero/1.0/)
To the extent possible under law, the maintainers have waived all copyright and related or neighboring rights to this work. The logo is excluded: it is based on the Go gopher by Renée French, licensed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).