Effortless Go Learning With Smart Tips And Tricks
I’ve been diving into Go for a few weeks, and I am constantly amazed by its simplicity. As an experienced Java developer, I appreciate its concise and to-the-point syntax.
Go covers a wide range of functionality, from HTTP servers and network programming to cryptography.
I have adopted Go as my primary language for most of my side projects. I have invested time in reading a significant amount of documentation to quickly become familiar with the Go ecosystem.
Today, I want to share some of it.
Whether you’re a beginner or an experienced developer looking to expand your skills, the following resources will help you get started with Go.
Official documentation
Check out the official resources provided by Google.
- The official learning reference for learning the basics
- The official blog for staying updated
- The official documentation for reference
In addition, be sure to read Effective Go, which provides in-depth explanations of Go’s conventions and idioms.
Books
If you prefer learning through reading, there are several great books on Go. I highly recommend Learning Go by Jon Bodner, which offers a comprehensive introduction to Go programming with practical examples.
Another useful resource is the Golang Book.
Blogs
Stay up-to-date with the latest trends and best practices in Go programming by following those blogs:
- Golang Weekly
- Dave Cheney’s blog
- Peter Bourgon’s blog
- Ilija Eftimov’s blog
- Ilya Kaznacheev’s blog
- Jon Calhoun’s blog
- A Journey With Go
Hands-on training
For a more hands-on approach, you can explore some examples at https://gobyexample.com/.
Online courses can also be a good option:
Applied Go
Jetbrains
Calhoun
Educative.io
Alternatively, you can watch those tutorials on YouTube:
And an interesting YouTube channel to follow: GopherAcademy.
Style
The Google Go’s Style guide is an amazing resource to read, and you will know how Go programmers at Google work.
Furthermore, you can read this interesting post about building an application with a clean architecture.
Essential libraries
- Testify: a robust and flexible testing library for Go
- Mockery: a tool for generating mock objects in Go
- Gin: a high-performance HTTP framework for Go
- Go Faker: a data faker generator for struct
I also like to work with this BDD-style testing library.
IDEs
I hope this helps you on your Go journey. Stay tuned :)