Overview
I’ve been working with Go for several years, both professionally and personally. I thought it might be effective to take this opportunity to relearn it, so I revisited various aspects of the language. Here’s a list of articles I read during this process.
Motivation
I wanted to review the basics, catch up on parts of the specification I might have missed, learn about new features, and pick up tips to strengthen my foundation for improving my Go coding skills.
Understanding the Specification
I read through articles related to understanding the Go specification, focusing on resources from go.dev.
- go.dev - The Go Programming Language Specification
- go.dev - The Go Memory Model
- go.dev - Effective Go
- go.dev - How to Write Go Code
- go.dev - Writing Web Applications
- go.dev - Defer, Panic, and Recover
- go.dev - Case Studies
- go.dev - Use Cases
- go.dev - Policy
- go-tour-jp.appspot.com - Welcome to a tour of Go
- google.github.io - Go style
- github.com - CodeReviewComments
Generics
I revisited the specifications of Generics, which were added in Go 1.18.
Pros and Cons of Go
I wanted to organize my thoughts on what Go excels at and where it struggles, so I read various articles on the topic. Perspectives can vary depending on the background of the author, so it was insightful to see different opinions.
Personally, I haven’t worked with many programming languages, so I can’t provide deep insights into language design philosophies. However, I particularly appreciate Go’s simplicity—or rather, its philosophy of maintaining simplicity. When using highly functional languages that allow for various coding styles, I sometimes struggle with deciding how to write something. With Go, I feel like I can write code straightforwardly, and I enjoy working with the language.
- zenn.dev - Revisiting Go’s Features
- zenn.dev - Why Go Language Succeeded
- www.mobulous.com - GoLang- A Complete Details of All The Pros and Cons in Programming
- www.scalefocus.com - Why You Should Go with Go for Your Next Software Project
- www.uptech.team - Best Practices: Why Use Golang For Your Project
- https://medium.com - Why Go: The benefits of Golang
- www.infoworld.com - What’s the Go programming language really good for?
- builtin.com - Why Go? 8 Engineers Discuss Golang’s Advantages and How They Use It.
- madappgang.com - When and Why Use Go in Software Development
Books
I picked up and read three books. There were other books I considered reading, but I selected ones that aligned with my current goals. (I know I need to properly study concurrency at some point, but I think that requires dedicated focus, so I’ll save it for another time...)
- Practical Go Programming
- Distributed Services with Go
- 100 Go Language Tips: How to Handle Common Developer Mistakes (impress top gear)
All of them are great books, but I especially recommend Practical Go Programming. It’s a valuable resource for someone like me who has some experience with Go but wants to organize their knowledge.
Final Thoughts
I was able to store a lot of information in my mental library, which I’m sure will come in handy when the time comes. There’s still a lot I don’t fully understand, so I plan to revisit and learn more at another milestone.