This is a creation in Article, where the information may have evolved or changed.
The go language is an open source project developed by Google, one of the purposes of which is to improve the programming efficiency of developers.
Recently, one months after the release of Go 1.3.3, go officially announced the release of Go 1.4 Beta 1.
This release focuses on multi-compiler and runtime improvements in support of backward compatibility, as well as support for different architecture processors. Notable improvements include the following:
1. Operation time
Significant improvements have been made to the runtime, such as the garbage collector, concurrency processing, interface management, maps method, slices method, string, etc., which were rewritten using the Go language (mostly written in c), allowing the garbage collector to scan the runtime's stack for accurate information about variables. This improves the accuracy of the garbage collector. The garbage collector's accuracy has been improved, and there will be no inactive reference objects without garbage collection, reducing the heap size (10%-30% compared to the previous version). The stack is no longer split, eliminating the "hot split" problem, without compromising performance, the use of successive stacks reduces the stack's initialization size, which has been reduced from 8192 bytes to 2048 bytes. In addition, it fixes a run-time crash caused by invalid pointers in version 1.3.
2. Operating system and server architecture
Supports ARM processors running the Android system, supports AMD64 processors running the PLAN9 system, and supports Nativeclient (NACL) ARM processors.
3. Standard Lib
Fixed the Bufio. A bug that generates empty tokens for SPLITFUNC methods in scanner packages The new Go.sys package replaces the Syscall package, rewrites the Encoding.gob package, rejects unsafe operations, and BasicAuth method is added to the request in the Net.http package, and the Compress package adds the Reset method. In addition, the CRYPTO.TLS, reflect, runtime and other packages have been improved.
In addition to the above major improvements, this version also includes a new "go generate" command to generate the source code for the build, the introduction of an "inside" Package for the Go command, the optimization of the functions implemented in assembly language, and other improvements.
Currently, this version is available for download. See the release notes for more updates on the Go 1.4 Beta 1 release.
Also, according to the release plan roadmap for Go,
The final version of Go 1.4 is scheduled for release on December 1 this year;
The go 1.5 is scheduled to be released in June 2015 to reduce the latency of the garbage collector, which makes the go language more responsive to the needs of users with high response times.
Go 1.6 is scheduled for release in December 2015, which will include pointer collision allocation and generational replication collection techniques.