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


Geoffrey Hinton And The Existential Threat From AI
13/10/2024

As the winner of the Nobel Prize For Physics 2024, Geoffrey Hinton found himself being interviewed multiple times. He used the opportunity to reiterate and explain why he has come to see AI as an exis [ ... ]



Mastering LLMs With Experts
22/10/2024

A freely available set of workshops and talks on the essentials of LLMs, taught by practitioners. The topics include Evals, Retrieval-augmented-generation (RAG), Fine-tuning etc.


More News

espbook

 

Comments




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