Go 1.16 was officially released yesterday 💥 🎉 🎊 !
🥳 Go 1.16 is released!
— Go (@golang) February 16, 2021
🗞 Blog: https://t.co/PODJm9sYh7
📦 Download: https://t.co/cPxS4mbYno#golang pic.twitter.com/OlMirpBP4C
And yes everybody is excited about the new //go:embed directive and the Apple Silicon support, but there are some other interesting changes.
Vet
Warns when calling Fatal in goroutines.
Go Modules
go install now supports arguments with suffixes, what this is means is that running something like:
go install github.com/MarioCarrion/nit/cmd/nit@v0.6.5
Will work, and more importantly will not modify the main go.mod, which in practice should reduce the amount of explicit imported packages, that should change the tools.go paradigm a bit in some cases.
Deprecation of io/ioutil
io/ioutil still works but the recommended way is now to either use the corresponding io or os types, in practice the API is basically the same only the packages change.
os/signal NotifyContext
A new function called NotifyContext added, allows using context.Context for handling signal events, simplifying the previous channel-based pattern.
Looking forward to Go 1.17!

