golangci-lint — мета-линтер, запускает десятки проверок одной командой. Запуск: golangci-lint run ./.... Конфиг .golangci.yml для настройки правил.
Полезные линтеры: errcheck (непроверенные ошибки), govet (подозрительные конструкции), staticcheck (баги), gosec (безопасность), ineffassign (бесполезные присваивания).
Интегрируй в CI — не пускай код без прохождения линтера. В IDE обычно работает из коробки через gopls.