The first beta of Go 1.16 has been released. The release notes can be found here. The most notable change is probably native support for Apple Silicon 🎉:
Go 1.16 adds support of 64-bit ARM architecture on macOS (also known as Apple Silicon) with
GOOS=darwin
,GOARCH=arm64
. Like thedarwin/amd64
port, thedarwin/arm64
port supports cgo, internal and external linking,c-archive
,c-shared
, andpie
build modes, and the race detector.The iOS port, which was previously
darwin/arm64
, has been renamed toios/arm64
.GOOS=io
s implies thedarwin
build tag, just asGOOS=android
implies thelinux
build tag. This change should be transparent to anyone using gomobile to build iOS apps.Go 1.16 adds an
ios/amd64
port, which targets the iOS simulator running on AMD64-based macOS. Previously this was unofficially supported throughdarwin/amd64
with the ios build tag set.Go 1.16 is the last release that will run on macOS 10.12 Sierra. Go 1.17 will require macOS 10.13 High Sierra or later.
Other notable changes are that there is now native support for embedding static files and file trees:
The go command now supports including static files and file trees as part of the final executable, using the new
//go:embed
directive. See the documentation for the newembed
package for details.
Also, Go modules are now enabled by default:
Module-aware mode is enabled by default, regardless of whether a go.mod file is present in the current working directory or a parent directory. More precisely, the
GO111MODULE
environment variable now defaults to on. To switch to the previous behavior, setGO111MODULE
toauto
.
You can download the beta release here.
If this post was enjoyable or useful for you, please share it! If you have comments, questions, or feedback, you can email my personal email. To get new posts, subscribe use the RSS feed.