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 tool1
- gofmt — source code formatter23
- go vet — static analysis tool4
Compilers and runtimes
- gc — default Go compiler5
- gccgo — GCC front end for Go6
- GopherJS — Go-to-JavaScript compiler7
- gollvm — Go compiler using the LLVM backend8
- llgo — experimental Go frontend for LLVM910
- TinyGo — compiler for embedded systems and WebAssembly11
- Yaegi — Go interpreter1213
Development environments and editors
- Emacs — text editor with Go support14
- GoLand — JetBrains integrated development environment15
- LiteIDE — Go-focused integrated development environment16
- Neovim — text editor with Go support
- TextMate — text editor with Go support17
- Vim — text editor with Go support
- Visual Studio Code — editor with Go support
Language servers and editor tools
- delve — debugger18
- gopls — Go language server1920
- golangci-lint — lint runner21
- revive — linter22
- staticcheck — static analysis tool23
Build, dependency and release tools
- Air — live reload development tool24
- dep — deprecated dependency manager25
- Go modules — dependency management system2627
- Goreleaser — release automation tool2829
- Mage — build tool30
- Task — task runner31
Testing and benchmarking
- benchstat — benchmark comparison tool32
- Ginkgo — testing framework33
- GoMock — mock generation tool3435
- testify — testing toolkit3637
- testing — standard testing package38
Web frameworks and HTTP tools
- Beego — web framework39
- Caddy — web server40
- Chi — router41
- Echo — web framework42
- Fiber — web framework43
- Gin — web framework44
- Gorilla Mux — router45
- Hugo — static site generator46
- Revel — web framework47
- Traefik — reverse proxy and load balancer48
RPC and API tools
- Goa — API design framework4950
- gRPC — remote procedure call framework51
- grpc-gateway — REST gateway52
- oapi-codegen — OpenAPI code generator5354
- Swag — OpenAPI documentation tool5556
Database and ORM tools
- Bun — SQL toolkit and ORM5758
- CockroachDB client libraries — database drivers and tools5960
- ent — entity framework61
- GORM — object–relational mapper62
- sqlx — SQL toolkit6364
Command-line and terminal tools
- Bubble Tea — terminal user interface framework6566
- Cobra — command-line framework6768
- pflag — flag parsing library6970
- urfave/cli — command-line framework71
- Viper — configuration library7273
GUI toolkits and application frameworks
- Fyne — cross-platform graphical user interface toolkit
Documentation, generation and analysis
- errcheck — unchecked error checker7475
- godoc — documentation tool76
- goimports — import management tool77
- mockgen — mock generator78
- pkgsite — package documentation site7980
- Prometheus — monitoring and alerting toolkit81
- stringer — code generation tool8283
- wire — dependency injection code generator8485
Package hosting and community services
- GoCenter — former Go package repository86
- pkg.go.dev — package documentation and discovery site87
- proxy.golang.org — module proxy88
Major applications written in Go
- Consul — service networking platform
- Docker — containerization platform
- InfluxDB — time-series database written in Go89
- Kubernetes — container orchestration platform
- Ollama — platform for running and managing large language models locally
- Terraform — infrastructure as code tool
- Vault — secrets management tool
See also
See also
References
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