|Go 1.18 Beta Released With Generics|
|Written by Kay Ewbank|
|Monday, 20 December 2021|
The first preview of Go 1.18 has been released with new support for generic code using parameterized types. The developers say generics are the most significant change to Go since the release of Go 1, and the largest single language change they’ve 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 news of the new feature was announced, Mike James pointed out that right from the start the major criticism of Go was that it lacked generics. Of course, many Go programmers didn't miss it and actively worked to make sure that it remained outside of the language. This was never going to happen as generics are so mainstream as to be part of the official dogma of modern languages.
However, generics are necessary only when you enforce strong typing and while strong typing may be part of most of the major languages, it isn't essential.
Other improvements to the new release include built-in support for writing fuzzing-based tests, to automatically find inputs that cause your program to crash or return invalid answers. There's also a new “Go workspace mode”, which lets you work with multiple Go modules simultaneously.
The final improvement of note follows the improvement in Go 1.17 which added a new register-based calling convention to speed up Go code on x86-64 systems. Go 1.18 Beta 1 expands that feature to ARM64 and PPC64, resulting in as much as 20% speed-ups.
Go 1.18 beta is available for download now.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Wednesday, 16 March 2022 )|