List of Go software and tools
This is a list of Go software and tools, including compilers, development environments, build tools, testing frameworks, web frameworks, database tools, and related software for the Go programming language.
Core toolchain
- Go — programming language and toolchain
- go command — build and package tool[1]
- gofmt — source code formatter[2][3]
- go vet — static analysis tool[4]
Compilers and runtimes
- gc — default Go compiler[5]
- gccgo — GCC front end for Go[6]
- GopherJS — Go-to-JavaScript compiler[7]
- gollvm — Go compiler using the LLVM backend[8]
- llgo — experimental Go frontend for LLVM[9][10]
- TinyGo — compiler for embedded systems and WebAssembly[11]
- Yaegi — Go interpreter[12][13]
Development environments and editors
- Emacs — text editor with Go support[14]
- GoLand — JetBrains integrated development environment[15]
- LiteIDE — Go-focused integrated development environment[16]
- Neovim — text editor with Go support
- TextMate — text editor with Go support[17]
- Vim — text editor with Go support
- Visual Studio Code — editor with Go support
Language servers and editor tools
- delve — debugger[18]
- gopls — Go language server[19][20]
- golangci-lint — lint runner[21]
- revive — linter[22]
- staticcheck — static analysis tool[23]
Build, dependency and release tools
- Air — live reload development tool[24]
- dep — deprecated dependency manager[25]
- Go modules — dependency management system[26][27]
- Goreleaser — release automation tool[28][29]
- Mage — build tool[30]
- Task — task runner[31]
Testing and benchmarking
- benchstat — benchmark comparison tool[32]
- Ginkgo — testing framework[33]
- GoMock — mock generation tool[34][35]
- testify — testing toolkit[36][37]
- testing — standard testing package[38]
Web frameworks and HTTP tools
- Beego — web framework[39]
- Caddy — web server[40]
- Chi — router[41]
- Echo — web framework[42]
- Fiber — web framework[43]
- Gin — web framework[44]
- Gorilla Mux — router[45]
- Hugo — static site generator[46]
- Revel — web framework[47]
- Traefik — reverse proxy and load balancer[48]
RPC and API tools
- Goa — API design framework[49][50]
- gRPC — remote procedure call framework[51]
- grpc-gateway — REST gateway[52]
- oapi-codegen — OpenAPI code generator[53][54]
- Swag — OpenAPI documentation tool[55][56]
Database and ORM tools
- Bun — SQL toolkit and ORM[57][58]
- CockroachDB client libraries — database drivers and tools[59][60]
- ent — entity framework[61]
- GORM — object–relational mapper[62]
- sqlx — SQL toolkit[63][64]
Command-line and terminal tools
- Bubble Tea — terminal user interface framework[65][66]
- Cobra — command-line framework[67][68]
- pflag — flag parsing library[69][70]
- urfave/cli — command-line framework[71]
- Viper — configuration library[72][73]
GUI toolkits and application frameworks
- Fyne — cross-platform graphical user interface toolkit
Documentation, generation and analysis
- errcheck — unchecked error checker[74][75]
- godoc — documentation tool[76]
- goimports — import management tool[77]
- mockgen — mock generator[78]
- pkgsite — package documentation site[79][80]
- Prometheus — monitoring and alerting toolkit[81]
- stringer — code generation tool[82][83]
- wire — dependency injection code generator[84][85]
Package hosting and community services
- GoCenter — former Go package repository[86]
- pkg.go.dev — package documentation and discovery site[87]
- proxy.golang.org — module proxy[88]
Major applications written in Go
- Consul — service networking platform
- Docker — containerization platform
- InfluxDB — time-series database written in Go[89]
- Kubernetes — container orchestration platform
- Terraform — infrastructure as code tool
- Vault — secrets management tool
See also
References
- ^ https://go.dev/doc/cmd
- ^ https://pkg.go.dev/cmd/gofmt
- ^ https://github.com/golang/go/blob/master/src/cmd/gofmt/gofmt.go
- ^ https://pkg.go.dev/cmd/vet
- ^ https://go.dev/src/cmd/compile/README
- ^ https://go.dev/doc/install/gccgo
- ^ https://github.com/gopherjs/gopherjs
- ^ https://go.googlesource.com/gollvm/
- ^ https://github.com/go-llvm/llgo
- ^ https://pkg.go.dev/tinygo.org/x/go-llvm
- ^ https://tinygo.org/
- ^ https://github.com/traefik/yaegi
- ^ https://pkg.go.dev/github.com/traefik/yaegi/cmd/yaegi
- ^ https://go.dev/gopls/editor/emacs
- ^ https://go.dev/wiki/IDEsAndTextEditorPlugins
- ^ https://github.com/visualfc/liteide
- ^ https://github.com/rsms/Go.tmbundle
- ^ https://github.com/go-delve/delve
- ^ https://github.com/golang/tools/blob/master/gopls/README.md?plain=1
- ^ https://go.dev/gopls/
- ^ https://github.com/golangci/golangci-lint
- ^ https://github.com/mgechev/revive
- ^ https://github.com/dominikh/go-tools
- ^ https://github.com/air-verse/air
- ^ https://github.com/golang/dep
- ^ https://go.dev/ref/mod
- ^ https://go.dev/blog/using-go-modules
- ^ https://github.com/goreleaser/goreleaser
- ^ https://goreleaser.com/customization/builds/go/
- ^ https://github.com/magefile/mage
- ^ https://github.com/go-task/task
- ^ https://pkg.go.dev/golang.org/x/perf/cmd/benchstat
- ^ https://github.com/onsi/ginkgo
- ^ https://pkg.go.dev/github.com/golang/mock/gomock
- ^ https://github.com/golang/mock
- ^ https://github.com/stretchr/testify
- ^ https://pkg.go.dev/github.com/go-openapi/testify/v2
- ^ https://go.dev/doc/tutorial/add-a-test
- ^ https://github.com/beego/beego
- ^ https://github.com/caddyserver/caddy
- ^ https://github.com/go-chi/chi
- ^ https://github.com/labstack/echo
- ^ https://github.com/gofiber/fiber
- ^ https://github.com/gin-gonic/gin
- ^ https://github.com/gorilla/mux
- ^ https://github.com/gohugoio/hugo
- ^ https://github.com/revel/revel
- ^ http://github.com/traefik/traefik
- ^ https://github.com/goadesign/goa
- ^ https://pkg.go.dev/goa.design/goa
- ^ https://github.com/grpc/grpc-go
- ^ https://github.com/grpc-ecosystem/grpc-gateway
- ^ https://github.com/oapi-codegen/oapi-codegen
- ^ https://pkg.go.dev/github.com/deepmap/oapi-codegen
- ^ https://github.com/swaggo/swag
- ^ https://pkg.go.dev/github.com/go-openapi/swag
- ^ https://github.com/uptrace/bun
- ^ https://pkg.go.dev/github.com/uptrace/bun
- ^ https://github.com/cockroachdb/cockroach-go
- ^ https://pkg.go.dev/github.com/cockroachdb/cockroach-go/v2/crdb
- ^ https://github.com/ent/ent
- ^ https://gorm.io/index.html
- ^ https://github.com/jmoiron/sqlx
- ^ https://pkg.go.dev/github.com/jmoiron/sqlx
- ^ https://github.com/charmbracelet/bubbletea
- ^ https://pkg.go.dev/github.com/charmbracelet/bubbletea#section-readme
- ^ https://github.com/spf13/cobra
- ^ https://pkg.go.dev/github.com/spf13/cobra
- ^ https://github.com/spf13/pflag
- ^ https://pkg.go.dev/github.com/spf13/pflag
- ^ https://github.com/urfave/cli
- ^ https://pkg.go.dev/github.com/spf13/viper
- ^ https://github.com/spf13/viper
- ^ https://github.com/kisielk/errcheck
- ^ https://pkg.go.dev/github.com/kisielk/errcheck/errcheck
- ^ https://pkg.go.dev/golang.org/x/tools/cmd/godoc
- ^ https://pkg.go.dev/golang.org/x/tools/cmd/goimports
- ^ https://github.com/golang/mock
- ^ https://pkg.go.dev/golang.org/x/pkgsite
- ^ https://github.com/golang/pkgsite
- ^ https://github.com/prometheus/prometheus
- ^ https://github.com/golang/tools/blob/master/cmd/stringer/stringer.go
- ^ https://pkg.go.dev/golang.org/x/tools/cmd/stringer
- ^ https://github.com/google/wire
- ^ https://pkg.go.dev/github.com/google/wire
- ^ https://github.com/jfrog/gocenter
- ^ https://pkg.go.dev/
- ^ https://proxy.golang.org/
- ^ https://github.com/influxdata/influxdb