We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

Learn Go

Learn Go by writing real code with structs, interfaces, error handling, concurrency, and backend design patterns.

What you'll learn in this Go course

Master the fundamentals of the Go programming language in this comprehensive interactive course. You'll practice writing performant, idiomatic Go while working through hands-on lessons, challenges, and quizzes covering everything from structs and interfaces to concurrency.

Chapter List

1
Variables
Learn the basic syntax for declaring and using variables and why you should use Go in the first place
2
Constants and Formatting
Learn how constants work in Go and how to format output using the fmt and unicode packages.
3
Conditionals
Use if/else statements to control the flow of your program
4
Functions
Learn about how functions behave
5
Structs
Idiomatically model data in Go using structs
6
Interfaces
Master one of Go's most powerful tools: the interface
7
Errors
Learn how Go uniquely handles errors
8
Loops
Practice various algorithms in Go
9
Slices
Learn about Go's take on ordered lists
10
Maps
Go has an answer to Python's sets and dictionaries, we call it a map
11
Pointers
Learn about pointers and their pitfalls
12
Packages and Modules
Learn how go projects are organized on your local machine
13
Channels
Master the #1 reason to use Go: its elegance of concurrent programming
14
Mutexes
Continue learning about concurrency with mutexes
15
Generics
Learn how Go approaches polymorphism with generics: a new feature added in 1.18
16
Enums
Go famously doesn't support proper enums, but we'll go over how Go developers solve the same kinds of problems with the tools they have.
17
Quiz
Learn about go-specific design patterns and fun language facts

Join 116,447 students in the Learn Go course

Read reviews of their learning experiences

The best course I've had for learning a language. Everything taught is useful, and practical. Resources are given for the nuances, and details you should learn on your own. I love this!

(5/5)
Maximiliano Pérez Tambasco profile image

Maximiliano Pérez Tambasco

Madrid

I did come to boot.dev with the intent to learn Go, but having done so, I'm glad to have at least a rough understanding of another language.

(5/5)
Lord Honk profile image

Lord Honk

Germany

This was a fantastic course! I feel super ready to write Go and complete more projects and feel I have a good hold on the language to continue my Go endeavors

(5/5)
Hugh Gramelspacher profile image

Hugh Gramelspacher

Seattle, WA

Perfect little introduction into Go. It made me like it a lot, the small things like its brackets, the error being just values, and the power of compiler!

(5/5)
Jaroslav Hůna profile image

Jaroslav Hůna

Ceske Budejovice, Czech republic

good

(4/5)
Dev Kumar Pal profile image

Dev Kumar Pal

India

its good but a bit fast. info after info.

(4/5)
trent kipper profile image

trent kipper

Turkey

This is a great introduction to Go for new Go programmers and a nice refresher for those who have worked with Go in the past but aren't using it regularly.

(5/5)
Sebastian Grant profile image

Sebastian Grant

United Kingdom

this course was great to be honest cause i didn't learn only but start a new language which i had never learnt. now i am master in that language, i have explored various features of go compared to other programming languages they don't even name those features like mutuxs, locks ...etc

(5/5)
Faisal Ahmad profile image

Faisal Ahmad

Srinagar

knew nothing about Go before this course, now I know even less :D but it's a good course anyways

(5/5)
Macias  profile image

Macias

Liverpool

Showing 1-9 of 636

or view more reviews

Mediocrity doesn't cut it anymore

The only way to become a great developer is to write a lot of code

Avoid tutorial hell

by writing a ton of code

Stay motivated with

a game-like curriculum

Build portfolio projects

to prove your skills

Delve deeper

into foundational concepts

Learn flexibly online

without interrupting your life

For 1% the price of college

to minimize your financial risk

Frequently asked Questions

Got questions? We've got answers

Yes, but we assume you're already familiar with programming basics like variables, conditionals, and functions. You don't need any prior Go experience.