Programming language: Go 1.16 Beta supports ARM64 architecture
Source: Heise.de added 23rd Dec 2020Go, an open source programming language originally developed by Google, is available in version 1. 16 as beta. The most important new features are changes to the core library and, according to the publishers, an improved runtime. The library includes the new embed package: This gives Go developers access to all of them during compilation with the command // go: embed files embedded in the program.
Go supports Apple Silicon Another highlight is the support of the ARM 17 architecture of the new Apple processors (Apple Silicon) on macOS. Apparently only minor changes have been made to the core library of Go, including crypto / dsa as out of date (deprecated) and the unicode – Package is now updated to Unicode 13. 0. The go get -insecure flag for retrieving repositories and for resolving user-defined domains using insecure schemes such as HTTP is also being discontinued and will be omitted in one of the future versions. Most of the changes affect the Go commands: The embedding of static files and file trees in executable files using the // go: embed mentioned above statement is a standard module as of the upcoming release. In addition, go install now accepts arguments with version suffixes. This allows packages to be installed in module mode without having to access the go.mod file.
Another new feature is that the – export – flag (if used accordingly) can list the build ID of the compiled package. Previously, Go developers had to use the go tool buildid command over the previously triggered command go list -exported -f {{. Export} ) run – the extra step is omitted.
Warning notices for invalid tests in the goroutines When testing, when using the testing.T method, there is now a warning for invalid tests in the goroutines. Even when calling Fatalf , FailNow and Skip {, f, Now} during the When testing with testing.T or the testing.B benchmarks, the warning may appear. Calls to the named methods interrupt the execution of the goroutines, but not the test or benchmark function, according to the preliminary release notes, which provide a code example: func TestFoo (t testing.T) {go func () {if condition () {t.Fatal (“oops”) // This exits the inner func instead of TestFoo . } …} ()} code that calls t.Fatal or a similar method from within a goroutine should be rewritten by developers. One way to do this could look like this:
func TestFoo (t testing.T) {go func () {if condition () {t.Error (“oops”) return} …} ()} Further changes to runtime and compiler Further changes concern under among other things, the runtime, which receives a stable interface for reading metrics defined by the implementation. The compiler can obviously process functions with undeclared for loops inline and the Go Linker is considered less “resource-hungry”.
Last but not least, a note to Mac developers: Go 1. 16 is apparently the last release that still runs on macOS Sierra. From the next version 1. 17 macOS 10. 13 High Sierra or higher version required.
More information in the preliminary release notes Further information can be found in the Draft Release Notes for Go 1.16. The final version should appear in February 2021 together with the final release. Fundamental changes to the language are not expected by then, the beta is apparently on the home straight, according to the publishers.
(sih)
brands: Apple CODE Google High Sierra InLine New other Silicon media: Heise.de keywords: Apple Google Open Source
Related posts
Notice: Undefined variable: all_related in /var/www/vhosts/rondea.com/httpdocs/wp-content/themes/rondea-2-0/single-article.php on line 88
Notice: Undefined variable: all_related in /var/www/vhosts/rondea.com/httpdocs/wp-content/themes/rondea-2-0/single-article.php on line 88
Related Products
Notice: Undefined variable: all_related in /var/www/vhosts/rondea.com/httpdocs/wp-content/themes/rondea-2-0/single-article.php on line 91
Warning: Invalid argument supplied for foreach() in /var/www/vhosts/rondea.com/httpdocs/wp-content/themes/rondea-2-0/single-article.php on line 91