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


Fermyon's Spin WebAssembly Version 3.0 Released
26/11/2024

The open source developer tool for building, distributing, and running serverless WebAssembly applications reaches version 3.0. What's new?



1000 Programmer's Mugs
06/12/2024

It is legend that programmers run on coffee so what better as a festive gift than a new mug with an appropriate slogan? You could boost your favourite programmer's performance by encouraging increased [ ... ]


More News

 

espbook

 

Comments




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

Last Updated ( Tuesday, 23 February 2016 )