Update
Feb 16, 2021
tracked by
Updatify
Introduction to Go 1.16
The latest Go release, version 1.16, arrives six months after Go 1.15.
Most of its changes are in the implementation of the toolchain, runtime, and libraries.
As always, the release maintains the Go 1 promise of compatibility.
We expect almost all Go programs to continue to compile and run as before.
Changes to the language
There are no changes to the language.
Ports
Darwin and iOS
Go 1.16 adds support of 64-bit ARM architecture on macOS (also known as
Apple Silicon) with GOOS=darwin, GOARCH=arm64.
Like the darwin/amd64 port, the darwin/arm64 port supports cgo, internal and external linking, c-archive, c-shared, and pie build modes, and the race
detector.
The iOS port, which was previously darwin/arm64, has
been renamed to ios/arm64. GOOS=ios implies the darwin build tag, just as GOOS=android implies the linux build tag. This change should be
transparent to anyone using gomobile to build iOS apps.
The introduction of GOOS=ios means that file names
like x_ios.go will now only be built for GOOS=ios; see go help buildconstraint for details.
Existing packages that use file names of this form will have to
rename the files.
Go 1.16 adds an ios/amd64 port, which targets the iOS
simulator running on AMD64-based macOS. Previously this was