[[golangci-lint]]でよく使う設定の紹介。 ## v2 ```yaml version: "2" linters: default: none enable: - errcheck - errorlint - exhaustive - exhaustruct - govet - ineffassign - nakedret - revive - staticcheck - unused settings: nakedret: max-func-lines: 0 exclusions: generated: lax presets: - comments - common-false-positives - legacy - std-error-handling paths: - third_party$ - builtin$ - examples$ severity: default: error formatters: enable: - goimports exclusions: generated: lax paths: - third_party$ - builtin$ - examples$ ``` ## v1 ```yaml linters: disable-all: true enable: # 暗黙的な変更を回避するため明示的に指定する - govet - errcheck - gosimple - ineffassign - staticcheck - unused # 以降は明示的に追加 - errorlint - exhaustive - exhaustruct - goimports # コード変更はgoplsで行う - nakedret - revive linters-settings: nakedret: max-func-lines: 0 # Naked returnは認めない severity: default-severity: error ```