| An overview of tools that will help improve your Go code |
| |
| ## All-in-one |
| |
| - [gometalinter](https://github.com/alecthomas/gometalinter) - Automates the installation, configuration and application of `gofmt`, `golint`, `govet` and several other code validation tools. |
| |
| ## Code Formatting |
| |
| - [gofmt](https://golang.org/cmd/gofmt/) - Start with the standard Go code formatter |
| - [golint](https://github.com/golang/lint) - Detects style mistakes in Go code |
| - [goimports](https://github.com/bradfitz/goimports) - Format code and fix your import statements |
| - [Formatting Go Code with gofmt](http://golangtutorials.blogspot.com/2011/06/formatting-go-code-with-gofmt.html) |
| |
| ## Code generation, Templating and Generics |
| |
| - [json-to-go](https://mholt.github.io/json-to-go/) - Generate Go structs from JSON. |
| - [Go gen](http://clipperhouse.github.io/gen/) - Type-driven code generation (generics) |
| - [gojson](https://github.com/ChimeraCoder/gojson) - Another Go struct generator. |
| - [gonerics.io](http://bouk.co/blog/idiomatic-generics-in-go/) - Idiomatic Generics in Go |
| - [gotemplate](https://github.com/ncw/gotemplate) - Package-based templating system for Go |
| |
| ## Refactoring |
| - [Refactoring with go fmt](http://spf13.com/post/go-fmt/) |
| - [gorename - easy refactoring](https://texlution.com/post/gorename/) |
| |
| ## Error Detection |
| |
| - [go vet](http://golang.org/cmd/vet/) - Read this first on how to use the `go vet` command. |
| |
| ## Navigation |
| |
| - [go oracle - user manual](http://golang.org/s/oracle-user-manual) - A tool for understanding Go code |
| - [Pythia](https://github.com/fzipp/pythia) - A browser-based UI for the Go Oracle. |
| |
| ## Visualization |
| |
| - [godegraph](github.com/kisielk/godepgraph) - A tool for generating dependency graphs of Go code. |