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.


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.


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.


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.


Can C++ Be As Safe As Rust?

Herb Sutter is a well known and respected C++ champion and he thinks that the language only needs a few tweaks to make it as safe as Rust. Can this be true?

Supersimple - Deep Insights From Data

Announcing $2.2 Million in pre-seed funding, the Estonian startup Supersimple has launched an AI-native data analytics platform which combines a semantic data modeling layer with the ability to answer [ ... ]

More News

raspberry pi books



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