When someone asks me how to start learning Go, the first challenge is not what to learn but where to begin. There are many resources available, but without a structure, it becomes overwhelming.

This is a list of resources I’ve personally used while learning Go and during day-to-day work. Note that this list is based on personal preference and is not guaranteed to be complete.

Different people learn differently: some prefer reading, others videos or hands-on practice. This list includes a mix of all three.

The key idea: start simple, build gradually, and connect concepts as you progress.


1. Start Simple (Beginner)

Interactive & Basics

Official Documentation

Standard Library & Blog


2. Structured Learning

Practice-Oriented

  • Learn Go with Tests: hands-on, test-driven approach. This is one of the most practical ways to learn Go by writing tests and building incrementally.

Style & Best Practices

Understanding idiomatic Go becomes important once you grasp the basics.

Books (Deeper Understanding)

  • The Go Programming Language by Alan A. A. Donovan & Brian W. Kernighan. A solid reference once you’re comfortable with the basics.

3. Video Courses

Use videos if you prefer guided explanations alongside coding.


4. Communities

Communities are useful when you get stuck or want to stay updated.


Thanks for reading. I’ll keep updating this list as I learn more.