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.

goicon2

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.

gopher

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.

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


The Appeal of Google Summer of Code
21/03/2024

With the list of participating organizations now published, it is time for would-be contributors to select among them and apply for Google Summer of Code (GSoC). Rust has joined in the program fo [ ... ]



Run WebAssembly Components Inside Node.js With Jco
28/03/2024

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

 

Comments




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

Last Updated ( Wednesday, 16 March 2022 )