|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.
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
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.
or email your comment to: email@example.com
|Last Updated ( Tuesday, 23 February 2016 )|