Channels ▼

Web Development

Google Updates Go Open-Source Language

Google has announced an update to its Go open-source programming language. Now at version 1.1, the language has been augmented with a "race detector", which works to find concurrency bugs as well as new standard library functionality.

More Insights

White Papers

More >>


More >>


More >>

Google's Andrew Gerrand of the Go Team says that among the most important updates are optimizations in the compiler and linker, garbage collector, goroutine scheduler and map implementation, as well as the aforementioned parts of the standard library.

It is likely that your Go code will run noticeably faster when built with Go 1.1, says Gerrand.

The official (but informal) Google Go blog announcement suggested that the changes to return requirements will lead to more succinct and correct programs, and the introduction of method values provides an expressive way to bind a method to its receiver as a function value.

"Concurrent programming is safer in Go 1.1 with the addition of a race detector for finding memory synchronization errors in your programs. We will discuss the race detector more in an upcoming article, but for now the manual is a great place to get started," stated Google.

Go is open source and distributed under a BSD-style license.

According to the language release notes, Go 1.1 keeps the promise of compatibility but adds a couple of significant (backwards-compatible) language changes. It has a long list of (again, compatible) library changes, and includes major work on the implementation of the compilers, libraries, and runtime.

"The focus is on performance. Benchmarking is an inexact science at best, but we see significant, sometimes dramatic speedups for many of our test programs. We trust that many of our users' programs will also see improvements just by updating their Go installation and recompiling," says the Go team.

Related Reading

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.