Go 2 Details Revealed
Written by Kay Ewbank   
Monday, 03 December 2018

Details are emerging of what the next version of the Go language will look like, along with concrete information on which of the future changes are going to make it into the next incremental release.

Go is an open source project developed by a team at Google and many contributors from the open source community over more than nine years. The main intended use is as a systems programming language, and it has been used in high profile commercial successes such as Docker.

goblack 1


Some ideas on Go 2 emerged last year at GopherCon 2017, when key Go developer Russ Cox gave a talk on the Future of Go where he laid out ideas for how the next version (informally Go 2) will look.  The developers say that the goal for Go 2 is to fix the most significant ways Go fails to scale, bringing along all the existing Go 1 source code. The sort of changes that are being talked over for Go 2 include additional support for error handling, introducing immutable or read-only values, and adding some form of generics.

Go 2 isn't going to appear as a single release, instead interim versions will being including its proposed features, starting with a number in the Go 1.13 release (step 1 in the proposal evaluation process):

The first change will be to add support for General Unicode identifiers based on Unicode TR31. The developers say this  addresses an important issue for Go programmers using non-Western alphabets and should have little if any impact on anyone else.

A second change will be support for in number literals, and the addition of binary integer literals. Other languages have these features, and many Go programmers have asked for them to be added to Go, so they've made the list as early as possible.

The final change that will make it into Go 1.13 from the Go 2 list is the ability to have signed integers as shift counts. The developers say that  an estimated 38% of all non-constant shifts require an (artificial) uint conversion, and the new ability will get shift expressions better in sync with index expressions and the built-in functions cap and len.


More Information

GoLang Website

Related Articles

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.


CDN Serves Malware - 100,000 Polyfill Users At Risk

Back in the day, before modern JavaScript was all grown up, a lot of us resorted to polyfills to make up for browsers not supporting the very latest features. It looks as if that choice is coming to b [ ... ]

Udacity's iOS Nanodegree Completely Revamped

Udacity has refreshed its iOS Developer Nanodegree Program. The latest version, iOS Development with SwiftUI and SwiftData is intended to take 5 months.

More News

kotlin book



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