By using this site, you agree to the Privacy Policy and Terms of Use.
Accept
World of SoftwareWorld of SoftwareWorld of Software
  • News
  • Software
  • Mobile
  • Computing
  • Gaming
  • Videos
  • More
    • Gadget
    • Web Stories
    • Trending
    • Press Release
Search
  • Privacy
  • Terms
  • Advertise
  • Contact
Copyright © All Rights Reserved. World of Software.
Reading: Everything You Need to Know About Go 1.23 | HackerNoon
Share
Sign In
Notification Show More
Font ResizerAa
World of SoftwareWorld of Software
Font ResizerAa
  • Software
  • Mobile
  • Computing
  • Gadget
  • Gaming
  • Videos
Search
  • News
  • Software
  • Mobile
  • Computing
  • Gaming
  • Videos
  • More
    • Gadget
    • Web Stories
    • Trending
    • Press Release
Have an existing account? Sign In
Follow US
  • Privacy
  • Terms
  • Advertise
  • Contact
Copyright © All Rights Reserved. World of Software.
World of Software > Computing > Everything You Need to Know About Go 1.23 | HackerNoon
Computing

Everything You Need to Know About Go 1.23 | HackerNoon

News Room
Last updated: 2025/05/15 at 7:15 PM
News Room Published 15 May 2025
Share
SHARE

Today the Go team is happy to release Go 1.23, which you can get by visiting the download page.

If you already have Go 1.22 or Go 1.21 installed on your machine, you can also try go get [email protected] in an existing module. This will download the new toolchain and let you begin using it in your module right away. At some later point, you can follow up with go get [email protected] when you’re ready to fully switch to Go 1.23 and have that be your module’s minimum required Go version. See Managing Go version module requirements with go get for more information on this functionality.

Go 1.23 comes with many improvements over Go 1.22. Some of the highlights include:

Language changes

  • Range expressions in a “for-range” loop may now be iterator functions, such as func(func(K) bool). This supports user-defined iterators over arbitrary sequences. There are several additions to the standard slices and maps packages that work with iterators, as well as a new iter package. As an example, if you wish to collect the keys of a map m into a slice and then sort its values, you can do that in Go 1.23 with slices.Sorted(maps.Keys(m)).

    Go 1.23 also includes preview support for generic type aliases.

    Read more about language changes and iterators in the release notes.

  • Starting with Go 1.23, it’s possible for the Go toolchain to collect usage and breakage statistics to help understand how the Go toolchain is used, and how well it is working. This is Go telemetry, an opt-in system. Please consider opting in to help us keep Go working well and better understand Go usage. Read more on Go telemetry in the release notes.

  • The go command has new conveniences. For example, running go env -changed makes it easier to see only those settings whose effective value differs from the default value, and go mod tidy -diff helps determine the necessary changes to the go.mod and go.sum files without modifying them. Read more on the Go command in the release notes.

  • The go vet subcommand now reports symbols that are too new for the intended Go version. Read more on tools in the release notes.

Standard library improvements

  • Go 1.23 improves the implementation of time.Timer and time.Ticker. Read more on timer changes in the release notes.

  • There are a total of 3 new packages in the Go 1.23 standard library: iter, structs, and unique. Package iter is mentioned above. Package structs defines marker types to modify the properties of a struct. Package unique provides facilities for canonicalizing (“interning”) comparable values. Read more on new standard library packages in the release notes.

  • There are many improvements and additions to the standard library enumerated in the minor changes to the library section of the release notes. The “Go, Backwards Compatibility, and GODEBUG” documentation enumerates new to Go 1.23 GODEBUG settings.

  • Go 1.23 supports the new godebug directive in go.mod and go.work files to allow separate control of the default GODEBUGs and the “go” directive of go.mod, in addition to //go:debug directive comments made available two releases ago (Go 1.21). See the updated documentation on Default GODEBUG Values.

More improvements and changes

  • Go 1.23 adds experimental support for OpenBSD on 64-bit RISC-V (openbsd/riscv64). There are several minor changes relevant to Linux, macOS, ARM64, RISC-V, and WASI. Read more on ports in the release notes.

  • Build time when using profile-guided optimization (PGO) is reduced, and performance with PGO on 386 and amd64 architectures is improved. Read more on runtime, compiler, and linker in the release notes.

We encourage everyone to read the Go 1.23 release notes for the complete and detailed information on these changes, and everything else that’s new to Go 1.23.

Over the next few weeks, look out for follow-up blog posts that will go in more depth on some of the topics mentioned here, including “range-over-func”, the new unique package, Go 1.23 timer implementation changes, and more.


Thank you to everyone who contributed to this release by writing code and documentation, reporting bugs, sharing feedback, and testing the release candidates. Your efforts helped to ensure that Go 1.23 is as stable as possible. As always, if you notice any problems, please file an issue.

Enjoy Go 1.23!


Dmitri Shuralyov, on behalf of the Go team

Also published here

This article is available on The Go Blog under a CC BY 4.0 DEED license.

Sign Up For Daily Newsletter

Be keep up! Get the latest breaking news delivered straight to your inbox.
By signing up, you agree to our Terms of Use and acknowledge the data practices in our Privacy Policy. You may unsubscribe at any time.
Share This Article
Facebook Twitter Email Print
Share
What do you think?
Love0
Sad0
Happy0
Sleepy0
Angry0
Dead0
Wink0
Previous Article Kantar crowns Apple world’s most valuable brand in 2025
Next Article Bible archaeologist delivers bombshell new analysis of Noah’s Ark ‘site’
Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Stay Connected

248.1k Like
69.1k Follow
134k Pin
54.3k Follow

Latest News

Bringing GPU-Level Performance to Enterprise Java: A Practical Guide to CUDA Integration
News
Preinstalled Apps on Ulefone, Krüger&Matz Phones Let Any App Reset Device, Steal PIN
Computing
Today's NYT Connections: Sports Edition Hints, Answers for June 8 #258
News
Cryptocurrency exchange operator Gemini files to go public – News
News

You Might also Like

Computing

Preinstalled Apps on Ulefone, Krüger&Matz Phones Let Any App Reset Device, Steal PIN

2 Min Read
Computing

Initial USB Audio Offloading Code Merged For Linux 6.16

3 Min Read
Computing

Behind the blind box boom: the global ascent of Pop Mart’s Labubu · TechNode

7 Min Read
Computing

Affiliate Marketing Tactics for Social Media: Research from

5 Min Read
//

World of Software is your one-stop website for the latest tech news and updates, follow us now to get the news that matters to you.

Quick Link

  • Privacy Policy
  • Terms of use
  • Advertise
  • Contact

Topics

  • Computing
  • Software
  • Press Release
  • Trending

Sign Up for Our Newsletter

Subscribe to our newsletter to get our newest articles instantly!

World of SoftwareWorld of Software
Follow US
Copyright © All Rights Reserved. World of Software.
Welcome Back!

Sign in to your account

Lost your password?