Where to download the Go 10.10 beta

The new features in Google Go 1.9

Google released Go 1.9 in August 2017. Here’s what is new and improved:

Speedups in the garbage collector, better-generated code, and core library optimizations should make programs run a bit faster.

The math/bits package offers optimized implementations to manipulate bits. Functions in this package are treated by the compiler as intrinsics to boost performance.

The Go 1.9 compiler supports parallel compilation of functions in a package, leveraging multiple processor cores. Go 1.9 retains the previous versions’ go command’s support for parallel compilation of separate packages. Parallel compilation is on by default but can be disabled.

For scalability, Go 1.9 adds support for type-alias declaration for code repair. A change to the Go language, type aliases support gradual code repair while moving a type between packages. It should aid code repair during large-scale refactoring, moving a type from a package in a way that code referring to an old name interoperates with code referring to the new name. Essentially, the introduction of type aliases provides a transition period in which the API is available from both new and old packages, making references to old and new versions interoperable.

Go 1.9 adds transparent monotonic time support, which makes computing durations between two Time values a safe operation in the presence of wall-clock adjustments.

Go 1.9 improves test helper capabilities, with new methods to mark the calling function as a test helper function.

A new type in the sync package serves as a concurrent map with amortized-constant-time loads, stores, and deletes. Thus, multiple go routines can call a map’s methods concurrently.

This story, “What’s new in Google’s Go language” was originally published by InfoWorld.