---
title: "The best of the Go newsletter in 2022"
publication: "Go Weekly"
issue: 441
published_at: "2022-12-16"
canonical_url: "https://golangweekly.com/issues/441"
---

This is the final issue of the year. |        

#​441 — December 16, 2022 

[Unsub](https://golangweekly.com/leave/*|UID|*)|[Web Version](https://golangweekly.com/issues/441)  

Together with [![JetBrains\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_350,h_120/e_make_transparent/co_white,e_outline:7/xjolzz1zmxxyxqd81f9i.png)](https://www.jetbrains.com/go/whatsnew/?utm_source=cooperpress&utm_medium=cpc&utm_campaign=gonewsletter_dec16)  

The _Go Weekly_ Newsletter 

![](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/zjoj9ab7g6p3ldymbuzx.jpg)   

The Best of the Go Newsletter in 2022 

This is the final issue of the year (**we're back on January 6, 2023**) so we're revisiting the most popular links (and releases) from this year. There'll be a few useful resources that escaped your attention or that you've since forgotten about so enjoy! 😁

Have a fantastic holiday season.
____
_Peter Cooper, your editor_    

1: [Effective Error Handling in Go](https://earthly.dev/blog/golang-errors/) — The most popular item of the year came in the very first issue of 2022 and presaged what would be a common concern this year: error handling. Brandon covered the basics, as well as some simple strategies you can follow to ensure your programs are more robust and easier to debug. 

Brandon Schurman   

2: [All You Need(ed) to Know About Go 1.18 (in a Giant Diagram)](https://miro.com/app/board/uXjVOaLW7dY=/) — Go 1.18 [was released](https://go.dev/blog/go1.18) in March, but someone (unnamed) put together an interesting diagram of the new things in 1.18 using the _Miro_ whiteboarding tool. [The 1.18 release notes](https://tip.golang.org/doc/go1.18) ended up providing a more thorough and traditional overview of this year's big release, though. 

Miro    [![\](https://copm.s3.amazonaws.com/929dd0b0.png)](https://www.jetbrains.com/go/whatsnew/?utm_source=cooperpress&utm_medium=cpc&utm_campaign=gonewsletter_dec16) 

[Check Out GoLand 2022.3!](https://www.jetbrains.com/go/whatsnew/?utm_source=cooperpress&utm_medium=cpc&utm_campaign=gonewsletter_dec16) — This version brings performance improvements and new features for generics and Go workspaces. The new Code Vision feature displays the usages next to functions and types. We’ve integrated Go Playground and added support for improvements to Go docs. 

JetBrains sponsor     

3: [A Proposal: A `try` Statement for Error Handling](https://github.com/golang/go/issues/56165) — Inspired by the results of this year's Go community survey, a self-proclaimed '`if err != nil` expert' put forward a proposal for adding some syntactic sugar to error handling – it appears to have fizzled out for now. 

Greg Weber   

4: [An Official 'Getting Started with Generics' Tutorial](https://go.dev/doc/tutorial/generics) — Generics were the most awaited feature in this year's Go 1.18 release, so it was great to see an official tutorial introducing the basics of using them. 

Go Docs   

5: [Getting Familiar with Workspaces](https://go.dev/blog/get-familiar-with-workspaces) — Go 1.18’s other big feature, workspaces, also had its day in the sun (well, on the official Go blog anyway). _“Workspaces in Go 1.18 let you work on multiple modules simultaneously without having to edit go.mod files for each module.”_ Beth explains how to get started. 

Beth Brown (Go Team)   

6: [Making a Go Program 70% Faster with a One Character Change](https://hmarr.com/blog/go-allocation-hunting/) — How could we resist a title like that? This was the tale of tracking down a ‘silly mistake’ that led to a program running more slowly than it should have been. 

Harry Marr   

7: [Google's Internal Go Style Guide](https://google.github.io/styleguide/go/index) — What goes for Google doesn’t necessarily go for everyone else, but it was interesting to see their stance on writing idiomatic Go. The [actual style guide is here](https://google.github.io/styleguide/go/guide) and is pretty short and sweet, focusing on clarity, simplicity and consistency as core tenets. 

Google   

8: ['Crimes' with Go Generics](https://christine.website/blog/gonads-2022-04-24) — Many Go developers warned of a likely period of churn and trial and error as everyone began to learn when and _when not_ to use generics. This post focused on the latter and on '_bad ideas_' which, perhaps, could help you refine your own attitudes to using generics. 

Xe Iaso    

[Forget Everything You Know About SSH](https://tailscale.com/tailscale-ssh/?utm_source=golang&utm_medium=email&utm_campaign=2022-12-16&utm_content=brand) — Say goodbye to managing SSH keys. Tailscale SSH works where Tailscale works & is free for personal use up to 20 devices. 

Tailscale sponsor     

**AND A FEW MORE:** 

- [A (Official) Guide to the Go Garbage Collector](https://go.dev/doc/gc-guide)
- [New in Go 1.20: Wrapping Multiple Errors](https://lukas.zapletalovi.com/posts/2022/wrapping-multiple-errors/)
- [Data Race Patterns in Go](https://eng.uber.com/data-race-patterns-in-go/)
- [Why (Bitly) Writes Everything in Go](https://bitly.com/blog/why-we-write-everything-in-go/)
- [How We Write GitHub Actions in Go](https://full-stack.blend.com/how-we-write-github-actions-in-go.html)  

🛠 Code & Tools  

1: [Wails v2: Build Cross-Platform Desktop Apps with Go](https://wails.io/blog/wails-v2-released/) — Wails is an Electron-a-like for Go for building cross-platform desktop apps using Go as the base language and JavaScript on the front (and, yes, JS can call your Go functions). This was by far the most popular code and tool related link of the year. 

Lea Anthony   

2: [PocketBase: A Go-Powered Backend in One Binary](https://pocketbase.io/) — An interesting project that could replace Firebase in numerous scenarios. It’s written in Go but ultimately acts as the backend to your frontend JavaScript app. It uses SQLite and you get an admin dashboard built-in with file and user management too. [Live demo](https://pocketbase.io/demo/) and [rather nice docs.](https://pocketbase.io/docs/) 

Gani Georgiev   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/adld2kcce11v1jxlkwk8.jpg)](https://goplay.tools/)  

3: [GoPlay: A Better Go Playground?](https://goplay.tools/) — Powered by React, the “better” here includes a dark theme, autocompletion, a ton of loadable snippets, file loading/saving, and WASM support. There’s also [a Docker image](https://hub.docker.com/r/x1unix/go-playground) so you can have a _private_ playground of your own. 

Denis Sedchenko    

[Argo CD as a Managed Service from the Creators of Argo](https://akuity.io/akuity-platform/?utm_source=newsletter&utm_medium=cooperpress-sponsored&utm_campaign=golangweekly) — Akuity's architecture increases security, improves scalability, provides insights, and saves money. Available on free trial. 

Akuity sponsor     

4: [Bud: A Full-Stack Web Framework for Gophers](https://github.com/livebud/bud) — In classic _Ruby on Rails_ style, the creator has [▶️ a fantastic 15-minute screencast](https://www.youtube.com/watch?v=LoypcRqn-xA) showing off how to use it – not to build a blog, but a Hacker News client of sorts. 

Live Bud   

5: [Charm Gum: A Tool for 'Glamorous' Shell Scripts](https://github.com/charmbracelet/gum) — Gum lets you create a CLI-based wizard just by providing a few arguments. The [README](https://github.com/charmbracelet/gum#gum) is fantastic and packed with examples and animations. If you’d rather brew your own, [Bubble Tea](https://github.com/charmbracelet/bubbletea) and [Lip Gloss](https://github.com/charmbracelet/lipgloss), upon which Gum depends, are available too. 

Charm   

6: [Buffalo 1.0: Rapid Web Development in Go](https://gobuffalo.io/) — Buffalo has been around for many years, and while [1.0](https://github.com/gobuffalo/buffalo/releases/tag/v1.0.0) wasn’t a big, feature packed release, it was still a key milestone and remains the latest major version. If you’re new to Buffalo, there are [plenty of tutorials](https://gobuffalo.io/documentation/tutorials/) to get you going. 

Buffalo Team    

Jobs  

[Golang Engineers — 100% Remote (North/South America & Europe)](https://www.ardanlabs.com/careers/mid-level-and-senior-backend-engineer.html) — We’ve got several opportunities for Go devs (some working directly with Bill Kennedy!) and would love to hear from those looking for new challenges in distributed systems projects. 
Ardan Labs   

[Site Reliability Engineer](https://www.stickermule.com/career/2482befb-4aa7-4372-98d7-042aaf774315) — Join our "kick ass" team. Our software team operates from 17 countries and we're always looking for more exceptional engineers. 
Sticker Mule   

[Find a 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 Peter Cooper and [Glenn Goodrich](https://twitter.com/ruprict). 

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

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