CodeTools
An overview of tools that will help improve your Go code
All-in-one
- golangci-lint - Bundle of
gofmt
,golint
,govet
and many other tools that shares work between the different linters for better performance. Recommended by the original author to replace gometalinter (Drop-in replacement). - DEPRECATED: gometalinter - Automates the installation, configuration and application of
gofmt
,golint
,govet
and several other code validation tools.
Code Formatting
Articles
Tools
- air - Live reload for Go apps
- gofmt - Start with the standard Go code formatter.
- golint - Detects style mistakes in Go code (deprecated).
- staticcheck - Go programming language linter.
- goimports - Format code and fix your import statements.
- gofumpt - A stricter gofmt.
- revive - Fast, configurable, extensible, flexible, and beautiful linter for Go.
Code generation, Templating and Generics
- json-to-go - Generate Go structs from JSON.
- Go gen - Type-driven code generation (generics)
- gojson - Another Go struct generator.
- gotemplate - Package-based templating system for Go.
- sqlgen - Generate Go code for SQL interactions.
- zek - Generate Go struct from XML.
- apidocgen - Generate web apis markdown docs and mocks.
- goaccessor - Getters and setters generator.
Refactoring
Articles
- gorename - easy refactoring
- Refactoring Tools - An overview of refactoring tools for Go.
- Quick renaming with gofmt
Tools
- eg - Example-based refactoring tool for Go.
- gofmt - Start with the standard Go code formatter.
- gorename - Renaming tool for Go.
Error Detection
Articles
- Go Inspection Tools - An overview of tools for Go code inspection.
Tools
- AlignCheck, StructCheck, VarCheck - A suite of tools for checking your code.
- errcheck - Ensure you check your error conditions.
- go vet - Read this first on how to use the
go vet
command. - SafeSQL - Protect against unsafe SQL in your code (deprecated).
Navigation
- Go Guru - User Manual - A tool for understanding Go code.
- Pythia - A browser-based UI for Go Guru.
Visualization
- godepgraph - A tool for generating dependency graphs of Go code.
- go-size-analyzer - A tool that shows the size of each dependency of a Go binary.