Go 1.6 Released
Written by Kay Ewbank   
Tuesday, 23 February 2016

The latest version of Google Go has been released with support for HTTP/2. Coming six months after Go 1.5, which had more dramatic changes, Version 1.6 contains more incremental improvements. 

go

 

The support for HTTP/2 in the net/http package is the most interesting improvement. HTTP/2 is the follow-on to HTTP that is already in use in major browsers such as Firefox and Chrome, as well as major websites. Support for HTTP/2 is enabled by default for both servers and clients when using HTTPS in Go 1.6.

Another area that has been improved is the template packages. These now have support for trimming spaces around template actions to produce cleaner template output, and the introduction of a  {{block}} action that can be used to create templates that build on other templates.

The developers have added a feature to overcome the problem of more than one goroutine writing to the same map concurrently. Maps in Go are a built-in data structure that associate values of one type (the key) with values of another type (the element or value) . Problems are caused if two routines update the same structure, so the runtime has added lightweight, best-effort detection of concurrent misuse of maps. If the runtime detects multiple concurrent updates, it prints a diagnosis and crashes the program. You can then run the program under the race detector, which will identify which routines are causing the problem.

The runtime has also changed how it prints program-ending panics. It now prints only the stack of the panicking goroutine, rather than all existing goroutines. 

If you are a user of cgo, you need to take note of major changes to the rules for sharing pointers between Go and C code that have been made to prevent problems with interactions between C code that retains a pointer after a cgo call, and Go's garbage collector. There's a good explanation in the release notes. There are a variety of other changes all documented in the release notes.

goicon1

More Information

Detailed Release Notes

Downloads Page

Related Articles

Google's Go Finally Kills Off C

Go 1.5 In Beta        

Go 1.4 gets Android support 

Go 1.3 Released

A Programmer's Guide To Go

Why invent a new language? Go creator explains

Go Is Four

Go with Google - Yet Another Language!

 

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, FacebookGoogle+ or Linkedin

 

Banner


Rust Twice As Productive As C++
03/04/2024

Google director of engineering, Lars Bergstrom, gave a talk at the recent Rust Nation UK conference and claimed that Rust was twice as productive as C++. Given how good Google is at C++, this is quite [ ... ]



Pure Virtual C++ 2024 Sessions Announced
19/04/2024

Microsoft has announced the sessions for Pure Virtual C++ 2024, which is taking place on April 30th 15:00 UTC. People who sign up will get access to five sessions happening on the day, alongside a ran [ ... ]


More News

 

raspberry pi books

 

Comments




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

Last Updated ( Tuesday, 23 February 2016 )