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.

Banner


Ebay Open Sources Beam
10/05/2019

eBay has made its distributed knowledge graph store open source. Beam can be used to store RDF-like data and supports SPARQL-like querying. It uses Apache Kafka for storage. Beam was largely written i [ ... ]



Mozilla WebThings Beyond Experimental
25/04/2019

WebThings just graduated from being in an experimental phase to something more serious, but this sort of home IoT is a tough nut to crack. Can we trust Mozilla to be there after we invest time and eff [ ... ]


More News

Python

 



 

Comments




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