Go 1.18 Beta Released With Generics
User Rating: / 0
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.


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.


Developer Sabotages Own Code

The developer of two popular JavaScript libraries has sabotaged them, apparently as a protest for not getting financial recompense from corporates for his work. GitHub temporarily suspended his accoun [ ... ]

Ruby On Rails 7 Moves To No-Node Default

Ruby on Rails has been updated to version 7 with major improvements that the developers say is the fulfillment of a vision to present a truly full-stack approach to web development that tackles both t [ ... ]

More News





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

Last Updated ( Tuesday, 21 December 2021 )