#​496 — February 20, 2024

Unsub  |  Web Version

Together with  Tuple logo

Go Weekly

The HTTP Routing Enhancements in Go 1.22 — The Go team’s official take on the new HTTP routing enhancements in Go 1.22: “Go 1.22 brings two enhancements to the net/http package’s router: method matching and wildcards. These features let you express common routes as patterns instead of Go code.” These features are not universally adored so far, however.

Jonathan Amsterdam

💡 Willem Schots' URL path parameters in routes tutorial provides a fantastic example-led introduction to some of what's possible.

Go Enters the Top 10 in the TIOBE Index (Again..) — This story has been doing the rounds on social media, though the same author wrote a similar story a year ago. We also covered Go making it into TIOBE's top 10 six years ago (in issue 168) so don’t read too much into this (especially given how the stats are obtained). Nonetheless, #8 is the highest position Go has reached, so that’s neat.

Paul Krill (Infoworld)

Pairing - An Underrated Way to Collab with Other Devs — Tuple "makes pair programming with co-workers and friends fun again". Try it for free and find out why staff engineers at Figma can't stop talking about Tuple.

Tuple sponsor

Calling C from Go — A handy post containing various examples, including passing arrays, strings, and other types from Go to C. Knowing how to properly invoke C code is another arrow in your quiver and could improve your understanding of Go a little, too.

Eric Chiang

🔥 Fuego: A Nest-Inspired API/Web Framework for Go“The only Go framework generating OpenAPI documentation from code. Inspired by Nest, built for Go developers.” Here’s a 'hello world' example along with full docs. Or jump into the GitHub repo.

Fuego, Inc.

QUICK BITS:

Kubernetes CPU Limits and Go — Go’s runtime doesn’t inherently know that it’s running within a Kubernetes environment, so you may want to take CPU limits and GOMAXPROCS into account if you’re doing this.

William Kennedy

Give Go's goto a retry? — It's surely only a mild exaggeration to say many of us were brought up to 'never use goto' but a lot of developers have a strong aversion to its use. Nonetheless, Go has it, it’s used in the standard libraries, and it can be useful in a variety of cases.

Ammar Bandukwala

How to Monitor for Keywords on Reddit with Go — Reddit’s JSON API makes it pretty easy to scan but YMMV.

Arthur at KWatch

▶  Give Superpowers to Your Go App with WebAssembly and Extism
Philippe Charrière

Understanding a Recent Optimization to reflect.TypeFor
Chris Siebenmann

🛠 Code & Tools

Gofakeit v7: The Random Data Generation Library — You can ask it to generate things like random names, email addresses, phone numbers, job titles, and more, or have it help to populate structs using annotated data types. v7 integrates with Go 1.22’s math/rand/v2 which can simplify usage in some cases shown in the release notes. (Main docs.)

Brian Voelker

ObjectBox Go 1.8: A Fast, Embedded Database for Go Objects — Store objects in ObjectBox and find them again using powerful queries. v1.8 adds support for an in-memory database.

ObjectBox Ltd.

WorkOS, the modern identity platform for B2B SaaS — WorkOS provides easy-to-use APIs for authentication, user identity, and complex enterprise features like SSO and SCIM.

WorkOS sponsor

AWS Lambda Web Adapter: Run HTTP Webapps More Easily on AWS Lambda — A Rust project in Go Weekly? 🫣 Fear not, this is a handy adapter that makes it easy to run apps built in any language more easily on AWS’s serverless platform by letting them stick to their usual HTTP serving ways with the adapter bridging the gap.

Amazon Web Services Labs

🕰️ ICYMI (Older links, still worth checking out)