---
title: "First release candidate of Go 1.16"
publication: "Go Weekly"
issue: 347
published_at: "2021-01-29"
canonical_url: "https://golangweekly.com/issues/347"
---

Plus a deep dive into generics, creating a GitHub app, and a Go-powered file explorer. |        

#347 — January 29, 2021 

[Unsubscribe](https://golangweekly.com/leave/*|UID|*)|[Read on the Web](https://golangweekly.com/issues/347)   

Go Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/sj8wwrcletkb2vbbp9pd.jpg)](https://groups.google.com/g/golang-announce/c/U_FUHY4wuSc/m/3_Vw3oqpAgAJ)  

[Go 1.16 Release Candidate 1 Released](https://groups.google.com/g/golang-announce/c/U_FUHY4wuSc/m/3_Vw3oqpAgAJ) — Go 1.16, due to have its final release in February, is now taking its final form and is ready for your production testing, say the Go team. The [draft release notes](https://tip.golang.org/doc/go1.16) will bring you up to speed with what’s new, but highlights include support for ARM on macOS (such as with the new M1-powered Macs), module-aware mode _by default_, `go install` accepts version suffixes, you can embed static files with the `go:embed` directive, and more. 

Alex Rakoczy   

[Building REST Servers in Go: A Series](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-1-standard-library/) — Eli has been putting together a neat series of posts on building a REST API with Go using a few contrasting approaches so you can figure out what best suits your use case. Part 1 covers the standard library, part 2 [using a router package](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-2-using-a-router-package/), and part 3 [using a Web framework](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-3-using-a-web-framework/). 

Eli Bendersky   [![\](https://copm.s3.amazonaws.com/86bd28a3.png)](https://astra.datastax.com/register?utm_source=GoWeekly&utm_medium=display&utm_campaign=goweekly_1-29) 

[Combining GoLang, REST, NoSQL and Serverless](https://astra.datastax.com/register?utm_source=GoWeekly&utm_medium=display&utm_campaign=goweekly_1-29) — Connect your Go service, CLI or app to an automatically generated GraphQL data access API for your NoSQL DBaaS in < 5 minutes. Yep, that’s Apache Cassandra on DataStax Astra: the proven, globally distributed, highly available cloud database. Try our serverless beta. | [No card, free to 5GB](https://astra.datastax.com/register?utm_source=GoWeekly&utm_medium=display&utm_campaign=goweekly_1-29). 

DataStax Astra sponsor   

[A Tour of Go 1.16's `io/fs` Package](https://benjamincongdon.me/blog/2021/01/21/A-Tour-of-Go-116s-iofs-package/) — Ben compares the new filesystem package with afero, a community filesystem package, finding where the similarities and gaps exist. There isn’t feature parity yet, so you’ll want to read (but not write _*coughs*_) this post. 

Ben Congdon   

[LearnGo: A Large Collection of Go Examples, Exercises, and Quizzes](https://github.com/inancgumus/learngo) — A repository that explains Go concepts with 1000+ exercises to help people ‘learn by doing.’ 

Inanc Gumus     

Quick Bits 

- The TinyGo team [has got hold](https://twitter.com/deadprogram/status/1354715518679330817) of some [Raspberry Pi Pico](https://www.raspberrypi.org/products/raspberry-pi-pico/) boards and are setting to work getting Go running on them. Watch this space.
- Last week I erroneously said you need a Google account to see announcements on the golang-nuts mailing list, but this requirement hasn't been in place for a while. Hurrah! Thanks to Filippo Valsorda for the heads up.
- The [GopherCon Europe 2021 CFP](https://www.papercall.io/gceu2021) has been extended for two weeks (to February 7) if you missed it so far.
- The Go compiler and runtime team has begun to publish [brief weekly notes of their meetings.](https://github.com/golang/go/issues/43930)
- Bill Kennedy (along with Hoanh An) is working on [a new Go book](https://twitter.com/goinggodotnet/status/1353801890820202497) due in March. Love the cover illustration.
- A Twitter thread of [things to look forward to](https://twitter.com/mvdan_/status/1352194794064392192) in Go 1.17 (due much later this year).  

📘 Tutorials and Stories  

▶[Featherweight Go: Understanding Generics in Go](https://www.youtube.com/watch?v=Sw53HGyCGcU) — A discussion of the underpinnings of the generics proposal from a more CS/research-y point of view. This gets academic fast but if you want an exhaustive deep dive, you’ll love it. 

Hu, Lange, and Toninho   

[How to Integrate with GitHub 'The Right Way' with GitHub Apps](https://www.openfaas.com/blog/integrate-with-github-apps-and-faasd/) — A tutorial covering how to build your own (Go powered) GitHub App to work with GitHub’s API and to act on the behalf of its users, and using `faasd` to have it work in a serverless manner. 

Batuhan Apaydın   

📅 [Feb 16: Managing Software Development in a High‑Compliance Environment](https://99percentdevops.com/#upcoming?utm_campaign=golang&utm_source=cooper&utm_medium=Email) 

99 Percent Visible - DevOps Tech Talks sponsor   

▶[An Introduction to Go Debugging with Delve](https://www.youtube.com/watch?v=a1SneuI65O0) — [Delve](https://github.com/go-delve/delve) is a popular feature rich debugger for Go. _(22 minutes.)_ 

Golang Cafe   

[Real-World SQL in Go](https://www.gobeyond.dev/real-world-sql-part-one/) — If you don’t want to use an ORM (and many don’t) then you better handle your SQL queries cleanly. 

Ben Johnson   

[Working with Embed in Go 1.16](https://lakefs.io/working-with-embed-in-go/) — The `embed` directive provides a way to deploy a single binary that includes HTML and other assets. It also showcases the new filesystem package. 

Barak Amar   

[Reuse Expensive Computation With In-Progress Caches](https://rauljordan.com/2021/01/05/reuse-expensive-computation-with-in-progress-caches.html) 
Raul Jordan  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/qu5qdgvc8cf7oaw2ytpd.jpg)](https://github.com/anmitsu/goful)   

[Goful: A Console UI Orthodox File Manager](https://github.com/anmitsu/goful) — This is giving me flashbacks to the [Norton Commander](https://en.wikipedia.org/wiki/Norton_Commander) days :-) 

anmitsu   

[go-reddit 2.0: A Library for Using the Reddit API](https://github.com/vartanbeno/go-reddit) — For when you want to pull links from Reddit, create a bot, or whatever. 

Vartan Benohanian   

[Project Management Without All the Management](https://clubhouse.io/?utm_source=cooperGO&utm_medium=spon_nl) — "Clubhouse is like a fast and delightful version of Jira, a more purposeful version of Trello." - Current User. 

Clubhouse.io sponsor   

[JuiceFS: A Distributed POSIX File System Built on top of Redis and Object Storage](https://github.com/juicedata/juicefs) — JuiceFS stores file metadata in Redis using object storage for the file contents and supports all major cloud provider object storage services (such as S3, Google Cloud Store, Azure Blog Storage..) 

Juicedata, Inc   

[Wire 0.5.0: Compile-Time Dependency Injection for Go](https://github.com/google/wire) — Wire’s job is to [simplify the management of initialization code](https://blog.golang.org/wire) when doing dependency injection. 

Google   

[Introducing go-financial: A Native Go Port of `numpy-financial`](https://depthbybreath.hashnode.dev/amp/introducing-go-financial) — A port of _some_ (and more to come) of the numpy-financial functions along with an amortization schedule generator. 

Gyanesh Malhotra   

[Maddy: A Composable All-in-One Mail Server](https://github.com/foxcpp/maddy) — Can work as an MTA, accept messages via SMTP, store messages and even provide access to them over IMAP. 

Max Mazurov   

[Vitess 9: Database Clustering System for Horizontal Scaling of MySQL](https://vitess.io/blog/2020-01-26-announcing-vitess-9/) — Essentially sharding middleware for MySQL. It originally spawned from scaling problems that YouTube had ([background story here](https://www.infoq.com/presentations/vitess/)). Built primarily in Go. 

Alkin Tezuysal  

💻 Jobs  

[Senior Software Engineer (Remote, Germany)](https://iota.bamboohr.com/jobs/view.php?id=122) — We’re a not-for-profit organization seeking an experienced engineer to join our autonomous, agile team as we drive the development of new distributed ledger technologies (DLTs). 

IOTAFoundation   

[Golang Developer at X-Team (Remote)](https://x-team.com/remote-go-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=go) — Join the most energizing community for developers and work on projects for Riot Games, FOX, Sony, Coinbase, and more. 

X-Team   

[Find Your Next Job Through Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-golangweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 

Hired         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
