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/amd64port, thedarwin/arm64port supports cgo, internal and external linking,c-archive,c-shared, andpiebuild modes, and the race detector.The iOS port, which was previously
darwin/arm64, has been renamed toios/arm64.GOOS=ios implies thedarwinbuild tag, just asGOOS=androidimplies thelinuxbuild tag. This change should be transparent to anyone using gomobile to build iOS apps.Go 1.16 adds an
ios/amd64port, which targets the iOS simulator running on AMD64-based macOS. Previously this was unofficially supported throughdarwin/amd64with 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:embeddirective. See the documentation for the newembedpackage 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
GO111MODULEenvironment variable now defaults to on. To switch to the previous behavior, setGO111MODULEtoauto.
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.