Interesting project but this write-up has a bizarre focus on number of lines of code, which doesn’t appear to differ substantially between the two approaches.
Go’s error handling is fine. I don’t hate it, in spite of it being verbose. I’d love to see something like Result, Option, pattern matching, and something like the ? operator from Rust, but the official proposals on the topic are never taken up.
In the end, it still has errors as values which is worth a lot. I’m fine with a few lines per check.