Go 1.18 Released With Generics And Fuzzing
Written by Kay Ewbank   
Thursday, 17 March 2022

Go 1.18 has been released with improvements including support for generic code using parameterized types and fuzzing fully integrated into its standard toolchain. At the point the beta was released, the developers described generics as the most significant change to Go since the release of Go 1, and the largest single language change they’d ever made.

Go is an open source project developed by a team at Google and many contributors from the open source community over more than 8 years. The main intended use is as a systems programming language, and it has been used in high profile commercial successes such as Docker.

goicon2

When the Go team announced the inclusion of Generics, Mike James pointed out that this removes the major criticism of Go, its lack of generics. The inclusion won't be universally popular, as generics go along with strong typing, and many Go developers see this as not essential.

gopher

The other main improvement to Go 1.18 is built-in support for writing fuzzing-based tests, to automatically find inputs that cause your program to crash or return invalid answers. The Go development team is proud of the fact that Go is the first major language with fuzzing fully integrated into its standard toolchain.

There's also a new “Go workspace mode”, which lets you work with multiple Go modules simultaneously. The team says this has been added to address the most common challenge identified by users in the 2021 user survey, that of working across multiple modules.

Go is also up to 20% faster when used on ARM64 and PPC64 based systems, thanks to the expansion of the new register-based calling convention to speed up Go code. This was added in Go 1.17 for x86-64 systems, and has now been more generally introduced.

Go 1.18  is available for download now.

goicon2

More Information

Go Download Page

GoLang Org Webpage

Related Articles

Insights Into Where Go Is Going

Go Adopts Generics

Go 1.15 Improves Linker

Go 2 Details Revealed

Help Go Develop

Go 1.11 Adds WebAssembly Port
Go Drops The Gopher - The End is in Sight

Go SDK For Azure Released

Go Survey Revelations

Go At Eight

Why invent a new language? Go creator explains

A Programmer's Guide To Go

A Programmer's Guide To Go Part 2 - Objects And Interfaces

A Programmer's Guide To Go Part 3 - Goroutines And Concurrency

 

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.

Banner


Get Ready For Google Summer Of Code 2025
24/01/2025

2025 will be the  21st consecutive year of Google Summer of Code and the 4th year in which it will accept anybody aged 18 years and over who is a newcomer to open source software. As us [ ... ]



European Robotics Hackathon 2025 Open For Entries
17/01/2025

ENRICH 2025, the European Robotics Hackathon, is open now for team entries. To be held at the Zwentendorf Nuclear Power Plant in Austria, the aim is to develop robots that can carry out tasks in a nuc [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info