rss resume / curriculum vitae linkedin linkedin gitlab github twitter mastodon instagram
What is new in Go 1.16?
Feb 17, 2021

Go 1.16 was officially released yesterday 💥 🎉 🎊 !

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!


Back to posts