We are Go for Golang
Learning Golang
I have avoided Go for a while. I prioritized learning Rust over Go, but I've come to realize that there may be a place for both in my toolkit. When applying for jobs, I've hit upon several companies that are looking for some level of familiarity with Golang, so I decided to "give it a go" (wow, so clever... much pun).
Phase 1 - Learn It
Phase 1 is complete. I went through the "crash course" approach of absorbing as much of the language syntax and paradigms as I could, with an emphasis on idiomatics. There is of course the official Tour of Go and I also went through a 9-hour course on Udemy.

I would categorize the course as "good but dated." It is one of the most popular on the platform and hits all of the language's high points, assuming a previous working knowledge of programming, but there were several disparities with recent language changes and the concept of Generics was not covered at all.
As such, I soaked up this more recent 1-hour video on Golang to review what I'd learned and to get a better understanding of Go's implementation of Channels and Generics.
The video was quite fast paced, but I imagine as thorough as can be in the timeframe. I picked up a few things I hadn't learned in the Udemy course as well as got a grasp on Generics. Great job and many thanks to the creator, Alex.
Phase 2 - Use It
When I first started learning Rust, I took a similar approach (but also soaked up several books on the topic as well), and Phase 2 included writing a little TUI application with crossterm (the closest cross-platform library I could find to ncurses) and clap (commonly used command line argument parser). It was my basic, feature-incomplete version of "Mavis Beacon Teaches Typing" -- everyone's favorite person who doesn't exist, who taught me to touch type somewhere in the mid-90s -- which I called typr.
It was a useful exercise, but I wasn't satisfied with the way it turned out and eventually it fell to the wayside. Unacceptable, since I wanted my kids to use it for learning to touch type. So, I think now is a good time to revisit the project, this time writing it (mostly?) from scratch in Golang.
I was explicitly trying to stay "low level" with the Rust version and exclude most external dependencies, but this time I think I'll go all out. At risk of appearing fashionable, I'll admit the charm.sh tools for Go have always interested me, so my initial plan is to use their bubble tea library to jazz things up.
I feel like there's more I could do with the app's configuration, like using some QMK, Via/Vial, or adjacent configuration file import to allow users to customize the on-screen key layout to match their own physical keyboard. I also want to make the application more feature rich; instructive lessons, a practice mode, and a "game" mode would be nice.
Well, enough rambling. Time to crack the knuckles and get to work!