Since its delivery, Golang has increased popularity in the developer community. Till the year 2016, it was crowned as the language of the year and holds 11th position in the TIOBE programming community index. Golang is used for all types of software development solutions like general programming language, system programming language or general support. It has the ability to handle heavy server-centric web services, text processing problems and heavy distributed apps. Since its release, the language has been constantly revised and improved over the years. Before proceeding for the new features and updates in Go 1.15, let us have a quick look at Golang.
What Is Golang?
Golang is also known as Go. It is an open source programming language developed by Google in the year 2007. Golang’s creators want to make a statically typed compiled language that would be as simple to use as dynamically typed languages and have a similar level of expressiveness. In short they want to include C++ with Java and Python while including the best features of them. So, Golang has elements from statistically and dynamically typed languages. Golang syntax was designed to allow virtually everything to be programmed using less syntax. Even though the language has been available for longer than 10 years, it hasn’t introduced any serious syntax modifications that could make the code over-compiled. Recently, on 11th August 2020, it has released version 1.15. Let us see some amazing updates of Golang 1.1.5.
What’s New In Golang 1.15?
1. Compiler-
Package unsafe’s safety rules allow you to convert an unsafe.Pointer into uintptr when calling certain functions. Earlier, the compiler allowed different chained conversions. The compiler now requires precisely one conversion.
Golang 1,15 includes a -spectre to both compiler and assembler.
Now, the compiler rejects //go: compiler directives that does not have any meaning for the declaration they are applied to with “misplaced compiler directive” error.
Now, the compiler’s -json optimization logging reports large copies( >=128) and provides explanations of escape analysis decisions.
2. Linker-
Completely rewritten linker is the largest tooling change in 1.15. Have a look at the three major structural changes in new linker-
Moving from the linker to compiler, this enables parallelization as compiles are done in parallel across multiple CPUs, but the link step mostly be done in sequential at the end of the build. Also the results of the compiler are cached by Golang tooling.
Improving key data structures, primarily by avoiding strings. The recent linker makes use of large symbol table indexed by string; the new design avoids strings however much as possible by using a symbol numbering technique.
Avoiding loading all input object files into memory at once: this makes the new linker use less memory for large programs, and allocates less memory.
3. Tools-
Know more at- https://solaceinfotech.com/blog/whats-new-in-golang-1-15/
Solace infotech