#556 — June 4, 2025 |
🖊️ I was meant to be travelling this week. My plans changed, but I’d already planned for a shorter issue, so it’s a quicker one this time. Back to full service next week! |
|
Go Weekly |
“For the foreseeable future, the Go team will stop pursuing syntactic language changes for error handling. We will also close all open and incoming proposals that concern themselves primarily with the syntax of error handling, without further investigation.” ___ |
[ On | No ] Syntactic Support for Error Handling — The topic of handling errors in Go, and if it’s possible to improve the syntax around doing so, has been raised many times over the years, but sometimes it’s worth drawing a line under things and to focus elsewhere. Robert explains the matter, some of the proposals made over the years, and the benefits of maintaining the status quo. Robert Griesemer |
![]() The Guide to In-House Vs Managed Kubernetes-As-A-Service — Struggling with the “build vs. buy” decision when it comes to Kubernetes infrastructure management? You're not alone! Download the guide to discover the pros and cons of each approach as we break down the associated costs, risks & ROI. Get it today! Fairwinds sponsor |
Pure vs. Impure Iterators in Go — Go 1.23 introduced custom iterators, but the standard ‘single-use’ vs. not classification can be confusing. This post proposes a clearer pure vs. impure distinction, with concrete examples and performance insights. Julien Cretel |
IN BRIEF:
|
Three Cool Joeson Huang |
Simpler Backoff — Exponential backoff algorithms can be complex and difficult to reason about, or you can use a lookup table to make it trivial. Josh Bleecher Snyder |
📄 The Perils of Pointers in the Land of the Zero-Sized Type – Pointergeist is definitely my favorite word of the day. Fillmore Labs 📺 Making a Game in Go with No Experience – Interesting to see someone totally new to Go leap in and use Ebitengine to produce results quickly. Goodgis 📄 Let's Write a JSON Parser from Scratch Sushant Dhiman 📄 Cross-Compiling C and Go via cgo with Bazel Uros Popovic |
🛠 Code & Tools |
Bob 0.35: SQL Query Builder and ORM/Factory Generator — Though v0.36 and v0.37 have come out in just the past few days, v0.35 was a big milestone for Bob as it enabled the creation of code for Stephen Afam-Osemene |
💡 You might also find Bob vs GORM a useful comparison (there are also comparisons with Ent, SQLBoiler, and Jet over on the left). |
franz-go: A Complete Apache Kafka Client Library — A library that “aims to provide every Kafka feature from Apache Kafka v0.8.0 onward” and certainly has a striking featureset. Travis Bischel |
httpgrace: A Enrico Candino |
|
⭐ A golden oldie.. |
![]() |
go-binsize-treemap: Render a Visualization of Go Executable Space Usage — Easier to look at than explain in writing! It’s a tool that generates an SVG treemap of how the space inside a Go-built executable is used. Even when it's not useful, it's fun to look at. Nikolay Dubina |