Skip to content

Files

Latest commit

 

History

History
32 lines (23 loc) · 1.98 KB

README.md

File metadata and controls

32 lines (23 loc) · 1.98 KB

Awesome Go code formatters

A curated list of Go code formatters.

Code formatters

  • gofmt -- the default built-in formatter.
  • go-parsefix -- fixes simple parse errors.
  • go-ruleguard -- analysis-based formatter based on custom rules.
  • gofumpt -- a stricter gofmt.
  • golines -- fixes long lines.
  • goreturns -- fills in return statements with zero values to match the func return types.
  • keyify -- turns unkeyed struct literals into keyed ones.
  • unconvert -- removes unnecessary type conversions.
  • structslop -- checks struct can be re-arranged fields to get optimal struct size (can reduce memory use in large collections of struct instances) -- Medium article here.

Imports formatters

  • dedupimport -- fixes duplicate named/unnamed imports that have the same import path
  • gci -- controls package import order and make it always deterministic.
  • goimports-reviser -- goimports alternative.
  • goimports -- adds missing imports and removes unused ones.

Code generators

  • stringer -- generates string representation for integer constants.

See also