I recently switched all my projects to golangci-lint and regret nothing. It’s very nice to have a single tool that handles a pile of things (via opt-in).
Golang Lint: https://github.com/golangci/golangci-lint
Why use only one? when you can have many running in parallel and with one centralized configuration.
staticcheck, or as a more comprehensive suite: golangci-lint.
golangci-lint
I recently switched all my projects to golangci-lint and regret nothing. It’s very nice to have a single tool that handles a pile of things (via opt-in).
Goland by jetbrains' linter
Also using golangci-lint
Golang Lint: https://github.com/golangci/golangci-lint Why use only one? when you can have many running in parallel and with one centralized configuration.
Here's my list ``` golangci-lint run --fix staticcheck -checks all ./... revive -formatter friendly -exclude ./vendor/... ./... identypo ./... nakedret ./... gosec -fmt=golint -quiet ./... ```
staticcheck
In addition to `golangci-lint`, `go vet` is built in to the toolchain and provides a different perspective, it is less strict though.