CI: Add golangci-lint, and fix some linting errors
Adds golangci-lint configuration file and CI job to run linting.
Also adds Go 1.20 and 1.21 to the build matrix and drop 1.18 since it is no longer supported.
Edited by Mitchell Nielsen
Adds golangci-lint configuration file and CI job to run linting.
Also adds Go 1.20 and 1.21 to the build matrix and drop 1.18 since it is no longer supported.