Gobuid icon

GoBuid : Track your job site

Construction tracking software

GO

Walking Through Go's 1.22 Changes

Go is a programming language that stands out for its simplicity and outstanding concurrency model. Like any other tool, staying on top of its changes aids the ability to be competitive and aware of the opportunities available while using the tool. In this post, we’ll dive into Go’s 1.22 prominent changes for you to reflect on the opportunities that these bring to your Go applications.

|

by Alice

|
Walking Through Go's 1.22 Changes banner

 

What’s in store?

Go 1.22 was launched on February 6th and since this language is near our Core at Wawandco, we read through them and saw a few things that they tweaked. We grouped these changes in multiple sections as follows:

  • Changes in the Language

  • Enhanced Packages

  • Tool Settings

  • New Packages

Without further ado, let’s jump right into it!

Changes in the Language

These refer to the changes that syntactically speaking were adjusted for Go. Starting off we have:

So, What happens in those situations? Let’s take a look at the following before and after to have a closer look at what was previously happening and what they changed it to:

closer look diagram

Previously, Go created the iterator variable prior to all iterations. In each iteration, the value for this one was being set. Now instead, they reduced the scope of the iterator variable and now it’s available for each separate iteration. So our problem in this case wasn’t exactly the Goroutine but, this iterator variable which was holding the value of the slice’s last element to then be processed.

Enhanced Packages

net/http

When looking to map routes in a Web server, we’ve opted for using specific frameworks/packages to handle this, such as Gorilla Mux, Gin or even Fiber. That’s because what was available in net/http server mux was rigid for us to achieve a few things while using it.

In this version, this package received two significant improvements:

  • You can set HTTP methods when declaring the pattern for a handler.

  • Wildcards are now accepted as part of the pattern for a handler.

Let’s take a closer look at those.

Closing Remarks

Go appeared almost 14 years ago and the team behind it has been listening to the community using the language and providing tools to empower us developers. One of the greatest treats we have received from Go is how simple it is to work with it and how fast it has allowed us to deliver web applications to the world. These changes on version 1.22 are sure great and we’re looking forward to see the things that we get to create with these upgrades.