title: CodeTools

An overview of tools that will help improve your Go code


  • 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



  • 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.




  • eg - Example-based refactoring tool for Go.
  • gofmt - Start with the standard Go code formatter.
  • gorename - Renaming tool for Go.

Error Detection





  • godepgraph - A tool for generating dependency graphs of Go code.