Skip to content

Instantly share code, notes, and snippets.

@bash-spbu
Created January 6, 2023 11:55
Show Gist options
  • Save bash-spbu/f195bff87a20a68d94ad44d91d69b756 to your computer and use it in GitHub Desktop.
Save bash-spbu/f195bff87a20a68d94ad44d91d69b756 to your computer and use it in GitHub Desktop.
Some good Go libs

Libraries for Go development

Domain Link
Collections
____ Functional https://github.com/samber/lo
____ Finite State machines https://github.com/qmuntal/stateless
Concurrency
____ Goroutines pool https://github.com/panjf2000/ants
____ Goroutines leak detector https://pkg.go.dev/go.uber.org/goleak
____ Structured https://github.com/sourcegraph/conc
Configuration https://github.com/spf13/viper
Debug
____ Dumps pretty https://github.com/davecgh/go-spew
____ Dumps parse https://github.com/maruel/panicparse
Dependency injection https://github.com/uber-go/fx
Distributed https://github.com/dtm-labs/dtm
Errors
____ Full-featured https://github.com/cockroachdb/errors
____ Lightweight https://github.com/rotisserie/eris
Files
____ Virtual File System https://github.com/spf13/afero
Generators
____ Copy Type to Type https://github.com/switchupcb/copygen
____ Decorators https://github.com/hexdigest/gowrap
____ Derive https://github.com/awalterschulze/goderive
____ Library for code generation https://github.com/dave/jennifer
____ Interface by type / type by csv https://github.com/rjeczalik/interfaces
Logging
____ Common interface https://github.com/go-logr/logr
____ Fastest https://github.com/uber-go/zap
____ Customizable https://github.com/Sirupsen/logrus
Template
____ Fastest https://github.com/valyala/quicktemplate
Testing
____ Traditional https://github.com/stretchr/testify
____ BDD https://github.com/onsi/ginkgo
____ Fake data generator https://github.com/brianvoe/gofakeit
____ Go test output colorize https://github.com/kyoh86/richgo
Other
____ Toolkit 1 https://github.com/gogf/gf
____ Toolkit 2 https://github.com/gookit
____ Uber style guide https://github.com/uber-go/guide
CI/CD
____ Linters https://github.com/golangci/golangci-lint
____ Release https://github.com/goreleaser/goreleaser
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment