Go 1.9 released

Finally, new major version of Go programming language available now
28 August 2017   1498

Great news for Go developers. New major version of Golang available now.

Let's see what's inside.

As we mentioned before, there were planned two major new features for Go 1.9. And they are finally available.

  1. Go now supports type aliases to support gradual code repair while moving a type between packages. The type alias design document and an article on refactoring cover the problem in detail. In short, a type alias declaration has the form:
    type T1 = T2
    This declaration introduces an alias name T1—an alternate spelling—for the type denoted by T2; that is, both T1and T2 denote the same type.
     
  2. A smaller language change is that the language specification now states when implementations are allowed to fuse floating point operations together, such as by using an architecture’s “fused multiply and add” (FMA) instruction to compute x*y + z without rounding the intermediate result x*y. To force the intermediate rounding, write float64(x*y) + z.

 Also, here are some interesting updates:

  • The new math/bits package provides bit counting and manipulation functions for unsigned integers, implemented by special CPU instructions when possible. For example, on x86-64 systems, bits.TrailingZeros(x) uses theBSF instruction.
  • The sync package has added a new Map type, safe for concurrent access. It is not a general replacement for Go's map type.
  • The testing package also has an addition. The new Helper method, added to both testing.T and testing.B, marks the calling function as a test helper function. When the testing package prints file and line information, it shows the location of the call to a helper function instead of a line in the helper function itself.

Learn more at release notes

GoLand 2018.3 to be Released by JetBrains

New version of IDE for Go programming language has a lot of new features
22 November 2018   539

Team JetBrains introduced a new version of IDE GoLand 2018.3. In this update, users will see:

  • refactoring by changing the signature;
  • memory dump;
  • Testify support;
  • new debugger tools;
  • Improved verification, prediction and code completion;
  • chart support;
  • updates for VCS, Docker, Kubernetes.

The new method of processing the code Change Signature will allow a single action to change the signature of functions and methods throughout the workspace. The function will show what will change in the code after application. The Inline tool will highlight the embedded code, and Rename will notify you of possible conflicts when renaming.

Added the ability to run and debug Google App Engine applications locally.

Go memory dumps are now available via Run / Open Core Dump directly in the IDE. To automatically create memory dumps, you need to enter GOTRACEBACK = crash in the Environment field.

Also, GoLand 2018.3 supports the Mozilla debugger rr, which allows you to search for a crash in the program by playing back its execution.

Get more info at official blog.

The previous version of GoLand 2018.2 was released in July 2018.