<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>go on Arrans Technical blog</title><link>https://arran4.github.io/blog/categories/go/</link><description>Recent content in go on Arrans Technical blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>technicalblog123@arran4.com (Arran Ubels)</managingEditor><webMaster>technicalblog123@arran4.com (Arran Ubels)</webMaster><copyright>Arran Ubels. This work is licensed under a &lt;a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License&lt;/a>.</copyright><lastBuildDate>Fri, 10 Jul 2026 13:32:59 +1000</lastBuildDate><atom:link href="https://arran4.github.io/blog/categories/go/index.xml" rel="self" type="application/rss+xml"/><item><title>Effective Error Handling in Go: Wrapping, Sentinels, and Custom Types</title><link>https://arran4.github.io/blog/post/2026/016-go-error-handling/</link><pubDate>Fri, 10 Jul 2026 13:32:59 +1000</pubDate><author>technicalblog123@arran4.com (Arran Ubels)</author><guid>https://arran4.github.io/blog/post/2026/016-go-error-handling/</guid><description>Error handling in Go is straightforward, explicit, and forces developers to deal with failure states right at the point of origin. While if err != nil is a running joke in the community, when used correctly, Go&amp;rsquo;s error handling produces robust, debuggable, and maintainable software.
In my Go projects, I adhere to a set of practices that ensure errors are not just checked, but are rich with context and actionable. Let&amp;rsquo;s dive into how I handle errors effectively.</description></item><item><title>Resolving golangci-lint Go Version Conflicts in GitHub Actions</title><link>https://arran4.github.io/blog/post/2026/013-resolving-golangci-lint-go-version-conflicts/</link><pubDate>Tue, 07 Jul 2026 21:49:40 +1000</pubDate><author>technicalblog123@arran4.com (Arran Ubels)</author><guid>https://arran4.github.io/blog/post/2026/013-resolving-golangci-lint-go-version-conflicts/</guid><description>If you have encountered a build failure in your Go project&amp;rsquo;s GitHub Actions pipeline, you might see an error output similar to this:
1run golangci-lint 2 3 Running [/home/runner/golangci-lint-1.64.8-linux-amd64/golangci-lint config path] in [/home/runner/work/go-pattern/go-pattern] ... 4 5 Running [/home/runner/golangci-lint-1.64.8-linux-amd64/golangci-lint run] in [/home/runner/work/go-pattern/go-pattern] ... 6 7 Error: can&amp;#39;t load config: the Go language version (go1.24) used to build golangci-lint is lower than the targeted Go version (1.25.0) 8 9 Failed executing command with error: can&amp;#39;t load config: the Go language version (go1.</description></item></channel></rss>