Golang | Development

How to learn Golang — Updated for 2025

All the links and methods to learn Golang for your 2025 goals

Dipto Chakrabarty
3 min readDec 24, 2024
All about Golang

This blog is a direct guide to learning golang. It contains direct links to resources , no big paragraphs just a very short blog.

More than 90% of the resources are free and a next learning guide using projects.

Table of Contents

· Learning the Basics
Learning through videos
Self Learning
Golang Repositories
· Concurrency
Channels
Wait Groups
Mutex
· API Development in Golang
Basic API Development
· Deeper Concepts
· Projects to Build
Beginner
Intermediate
Advanced
· YouTube Channels to Follow

Learning the Basics

Learning through videos

Tech with Tim has a great playlist on learning golang which is useful.

Tech with Time YouTube — Starting out with Golang Playlist

However if you are willing to pay some money the below course is even better as Todd teaches in a story like fashion. It is comparatively longer though.

Udemy Course by Todd Mc Leod — How to Code: Google’s Go

Self Learning

If you do not want to depend on videos and want an environment to learn go the tour of go is a good place to start.

Then as you complete each part look through the go by example tabs of that concept to understand the complete usage.

Tour of Golang — Self learning about Golang

Go By Example — Exhaustive list of using Golang

Golang Repositories

This should be your last stop since learning through videos or the self learning tab should be good enough to develop golang skills.

The below resources are just extras for getting a wider view of golang.

  1. Tanner Gabriel Learning Go — Learning Golang
  2. Karan Pratap Singh — Learning Golang

Concurrency

Concurrency is one of the most important aspects of golang. Developing the skills to use channels , mutexes and wait groups will help you level up for systems programming in golang.

The below video demonstrates using channels and mutexes along with wait groups.

Concurrency in Golang Video

Channels

  1. A good video explanation — Go basic Channels tutorial
  2. Blog on using channels — Handling Golang Concurrency

Wait Groups

  1. Go video sync Wait Groups Basics — Go basics of wait groups

Mutex

  1. A video on using mutexes — Golang Mutex Tutorial

API Development in Golang

There are three popular backend frameworks for golang to start out with

  • Gorilla — good for starting with
  • Fiber — High Performance and Concurrency
  • Gin — Fast and Efficient Routing , High Performance

Basic API Development

  1. Building an API with gorilla MUX (good for starters)

2. Building an API with Fiber

3. Building an API with GIN

Deeper Concepts

How to use RPC in Golang — RPC in Golang

Playlist by Todd McLeod — Very deep understanding of http and api development

Projects to Learn — Gophercises Projects

Projects to Build

Beginner

  1. Build a basic TODO CLI using cobra
  2. A URL shortener
  3. Simple web app

Intermediate

  1. Integrate a third part API like weather API or reddit API.
  2. File upload and download using concurrency
  3. Full fledged backend API for a restaurant service
  4. Integrate a queue system to a backend API.

Advanced

  1. Upgrade the restaurant backend to microservices with an API gateway
  2. Implement 2 phase commit with all corner cases.
  3. Develop the bully leader election algorithm also with corner cases and tests.
  4. A simple task distribution service where a large computation is broken and distributed to different servers and results returned after comparison

YouTube Channels to Follow

Tiago — https://www.youtube.com/@TiagoTaquelim

Akhil Sharma — https://www.youtube.com/@AkhilSharmaTech

Anthony GG- https://www.youtube.com/@anthonygg_

Traversy Media — https://www.youtube.com/@TraversyMedia

Nic Jackson — https://www.youtube.com/@NicJackson

Daily Code Buffer — https://www.youtube.com/@DailyCodeBuffer

Mario Carrion — https://www.youtube.com/@MarioCarrion

--

--

Dipto Chakrabarty
Dipto Chakrabarty

Written by Dipto Chakrabarty

MS @CMU , Site Reliability Engineer , I talk about Cloud Distributed Systems. Tech Doctor making sure to diagnose and make your apps run smoothly in production.

No responses yet