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.


Azure AI And Pgvector Run Generative AI Directly On Postgres

It's a match made in heaven. The Azure AI extension enables the database to call into various Azure AI services like Azure OpenAI. Combined with pgvector you can go far beyond full text search. Let's  [ ... ]

Run WebAssembly Components Inside Node.js With Jco

Jco 1.0 has been just announced by the Bytecode Alliance.It's a native JavaScript WebAssembly toolchain and runtime that runs Wasm components inside Node.js. Why is that useful?

More News

raspberry pi books



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