go-critic
The most opinionated Go source code linter for code audit
...When specific check implementation is mature and proven useful, propose it’s integration into other linter. If a good checker can’t find a better home, it stays here. Almost 100 diagnostics that check for bugs, performance and style issues. Extensible without re-compilation with dynamic rules. Includes #opinionated checks with very strict and specific requirements. Self-documented: gocritic doc <checkname> gives a checker description. Usage of gocritic: gocritic [sub-command] [sub-command args...] Run gocritic without arguments to get help output.