Skip to content

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

Tools

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

Error Detection

Articles

Tools

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.