Don't want to get left behind? Learn to build with A.I. now 🤖
Back to courses

Go Programming (Golang): The Complete Developer's Guide

Learn Golang from scratch, from an industry expert by building real-world apps. You'll learn the Go fundamentals all the way to advanced concurrency so that you go from beginner to being able to get hired as a Go Developer!

14 Days

Average time students take to complete this course.

instructor
Taught by: Jayson Lennon
Last updated: April 2024

Course overview

We guarantee you that this is the most comprehensive and up-to-date online resource to learn Go. You will learn Go from scratch, build a bunch of fun and practical Go projects and gain the skills you need to get hired as a Go Developer in 2024!

What you'll learn

  • Write clean, bug free Go code using best practices
  • Learn the entire ecosystem of a Go programmer
  • Build massively concurrent programs that scale with Goroutines and Channels
  • Master Go programming from fundamentals all the way to advanced concurrency using goroutines, channels, mutexes + more
  • Learn one of the best programming languages for building performant distributed Microservices
  • Build a Pixl Art cross platform desktop app (+ add it to your portfolio) that will wow employers
  • Create a blazing fast GREP tool that uses multiple goroutines to search for a string within files
  • Have the skills and understanding of Go to confidently apply for Go (Golang) programming jobs

This Golang course covers all new Go best practices and trends for 2024 and is focused on efficiency.

That means you'll never have to spend time on confusing, out-of-date, incomplete tutorials anymore.

Instead, we'll quickly push you beyond the basics so that you can build professional, modern apps on your own using the latest version of Go and become a Go Programmer.

The success stories speak for themselves.

Graduates of Zero To Mastery are now working at Google, Tesla, Amazon, Apple, IBM, Uber, Facebook, Shopify + other top tech companies. They are also working as top freelancers getting paid while working remotely around the world. This can be you.

By enrolling today, you’ll also get to join our exclusive live online community classroom to learn alongside thousands of students, alumni, mentors, TAs and Instructors.

Most importantly, you will learn from a senior industry professional that has actual real-world experience working with Go.

Why Should I Learn Go?

We like you already. Asking those smart, tough questions!

Thankfully Jayson wrote a post dedicated to answering this question but here's the top 5 reasons why you should learn Go:

  1. First Class Concurrency. Translation: handles massive workloads easily
  2. Exceptional Performance. Translation: fast like an F1 car
  3. Simplicity & Familiarity. Translation: easy to learn and use 🙂
  4. Package Manager. Translation: makes your life easy
  5. Proven Track Record. Translation: popular with major companies with over 20,000 Go jobs available

Read Jayson's post if you want to go deeper and see why these 5 things matter.

Ultimately, Go was created by Google to solve Google-sized problems. This has made it very popular with many companies solving massive scaling challenges. It's also one of the fastest growing programming languages released in the last ten years.

These factors = great job prospects.

There are 20,000+ job postings listed for Go programmers and their average salary of $100,000 / year.

So if you are looking for something:

  1. That's easy to learn
  2. With lots of job demand
  3. And can provide generous compensation

Then learning Go is a great option for you to consider.

Here's what this Golang course covers:

This course, like all Zero To Mastery courses, will aso be constantly updated as the landscape changes.

As the Go ecosystem evolves, this course will also be continually updated with lectures and resources. This will be your go-to place to find the latest Go best practices and resources anytime in the future.

1. GOLANG FUNDAMENTALS - You'll be introduced to the Golang programming language and its sought-after capabilities, specifically its ease of use as well as its efficient code-compilation and execution.

  • What are Golang variables and functions?
  • What is a Golang for loop?
  • What are platforms?

These are the types of questions that'll be answered along with lots of demos and exercises for you to practice along the way.

2. PROGRAMMING BASICS WITH GO - The goal of this section is to get you up to speed on Go programming. You've got to drill down into the basics before you can get to mastery!

So you'll be learning how to master concepts such as pointers, memory, and concurrency that you'll be able to apply in the rest of the course and in your Master Project, an enterprise-level Pixl art editor.

3. PACKAGES & MODULES - Packages are Go's way of organizing code, while modules are a collection of packages. You'll encounter these as soon as you start coding in Go, so it's important to explore them in-depth and have an understanding of how they work.

4. DATA TYPES - You'll take the next step of working with Golang by learning everything there is to know about data types, which create an extensive system used for declaring variables and functions of different types.

5. STRUCTURES, ARRAYS, SLICES, MAPS, POINTERS - These are vital pieces of the puzzle for you to become a Go programming master. For example, structures allow data to be stored in groups, similar to a 'class' in other programming languages.

Meanwhile Golang maps are a commonly used (+ powerful, ingenious, and versatile!) data structure that stores data in key-value pairs. You'll learn all about these (and more!) while solidifying your knowledge with exercises and demos.

6. TESTING - It's important to test software to prevent regressions and ensure it meets specifications. To accomplish this there's two primary of methods of testing: unit testing and integration testing.

You'll learn about test tables and examples of test code, and by the end you'll understand exactly how to set up your tests.

7. INTERFACES - Interfaces allow us to specify the behavior of a type instead of the type itself. This allows functions to operate on more than one type of data. You'll fully understand why and how interfaces are implicitly implemented.

8. ERROR HANDLING - Go has no exceptions. Instead, errors are returned as the last returned value from a function. This encodes the failure of a function as part of the function signature itself.

You'll learn exactly why and how this makes it simple to determine if a function can fail in Go so that you can write and deploy perfect code.

9. CONCURRENT PROGRAMMING - Generally code executes line-by-line. But when you have concurrency, you're allowed to execute multiple lines at a time. Concurrent code can get messy pretty quickly, but one of the great things about Go is that it automatically chooses between the different types of concurrent programming. You'll learn exactly how to use that to your advantage.

10. BUILDING PROFESSIONAL PROJECTS WITH GO - You'll be using your Go knowledge to create an enterprise-level Pixl Art editor as your Final Project.

You'll apply all you've learned about pointers, function literals, closures, modules, packages, and interfaces to help solidify your Golang knowledge while buidling something awesome at the same time.

And it's sure to impress anyone looking at your portfolio.

Note: All code for the Pixl Art project (+ all projects and exercises) is provided step-by-step. So even if you don’t like to code along, you will get access to all the code, exercises, and projects we build right away.

What's the bottom line?

This course is not about making you just code along without understanding the principles so that when you are done with the course you don’t know what to do other than watch another tutorial. No!

This course will push you and challenge you to go from an absolute beginner in Go to someone that is in the top 10% of Go/Golang programmers 💪.

And you have nothing to lose. You can start learning right now and if this course isn't everything you expected, we'll refund you 100% within 30 days. No hassles and no questions asked.

When's the best time to get started? Today!

There's never a bad time to learn in-demand skills. But the sooner, the better. So start learning Go today by joining the ZTM Academy. You'll have a clear roadmap to developing the skills to build your own projects, get hired, and advance your career.

Join Zero To Mastery Now

What you'll build

The best way you learn is by doing. Not just watching endless tutorials. That's why a key part of this course is the real-world projects that you'll get to build. Plus they'll look great on your portfolio.

Pixl

Pixl

A desktop GUI project where you'll learn how to utilize the standard library and learn how to structure a large project across multiple packages as you create a pixel art editor featuring multiple dialogs, pixel painting, color selection, and pan/zoom.

Join Zero To Mastery Now

Course curriculum

To make sure this course is a good fit for you, you can start learning Go for free right now by clicking any of the PREVIEW links below.

Introduction

5 lectures

Go Programming (Golang): The Complete Developer's Guide2:32

PREVIEW

Exercise: Meet Your Classmates and Instructor

PREVIEW

Course Projects + Code + Slides + Cheatsheet

PREVIEW

Understanding Your Video Player (notes, video speed, subtitles + more)

PREVIEW

Set Your Learning Streak Goal

PREVIEW

Introduction to Go (Golang) Programming

8 lectures

So You Want To Learn Go?2:20

PREVIEW

Keiko Corp0:58

PREVIEW

Install Golang2:37

PREVIEW

Packages & Modules3:35

PREVIEW

Data Types5:08

PREVIEW

Strings / Runes7:36

PREVIEW

Go CLI1:46

PREVIEW

Let's Have Some Fun (+ Free Resources)

BEGIN

Go Programming Fundamentals

18 lectures

Variables10:31

BEGIN

Demo: Variables9:55

BEGIN

Exercise: Variables4:08

BEGIN

Basic Functions5:52

BEGIN

Demo: Functions4:03

BEGIN

Exercise: Functions4:30

BEGIN

Operators4:59

BEGIN

if..else8:22

BEGIN

Demo: if..else2:53

BEGIN

Exercise: if..else5:43

BEGIN

switch4:10

BEGIN

Demo: switch3:41

BEGIN

Exercise: switch3:38

BEGIN

Looping5:04

PREVIEW

Demo: Looping3:55

PREVIEW

Exercise: Looping3:57

PREVIEW

Section Review: Dice Roller8:35

BEGIN

Unlimited Updates

BEGIN

Go Programming: Types

18 lectures

Structures6:07

BEGIN

Demo: Structures4:59

BEGIN

Exercise: Structures3:28

BEGIN

Arrays9:00

BEGIN

Demo: Arrays4:56

BEGIN

Exercise: Arrays5:11

BEGIN

Slices12:02

BEGIN

Demo: Slices4:06

BEGIN

Exercise: Slices3:41

BEGIN

Ranges4:46

BEGIN

Maps6:01

PREVIEW

Demo: Maps7:00

PREVIEW

Exercise: Maps7:44

PREVIEW

Pointers5:52

BEGIN

Demo: Pointers6:41

BEGIN

Section Review: Library17:13

BEGIN

Exercise: Pointers5:06

BEGIN

Course Check-In

BEGIN

Idiomatic Go

13 lectures

Receiver Functions5:30

BEGIN

Demo: Receiver Functions4:27

BEGIN

Exercise: Receiver Functions6:08

BEGIN

iota6:16

BEGIN

Exercise: iota4:37

BEGIN

Variadics4:05

BEGIN

Text Formatting: fmt6:11

BEGIN

Packages9:15

BEGIN

Init Function2:19

BEGIN

Testing7:46

BEGIN

Demo: Testing8:29

BEGIN

Exercise: Testing6:55

BEGIN

Implement a New Life System

BEGIN

Interfaces in Go

15 lectures

Interfaces9:37

BEGIN

Demo: Interfaces4:02

BEGIN

Exercise: Interfaces6:52

BEGIN

Error Handling7:20

BEGIN

Demo: Error Handling2:26

BEGIN

Exercise: Error Handling8:09

BEGIN

Readers & Writers9:03

BEGIN

Demo Readers5:05

BEGIN

Exercise: Readers4:42

BEGIN

Type Embedding5:14

BEGIN

Demo: Type Embedding5:47

BEGIN

Exercise: Type Embedding5:19

BEGIN

Generics8:56

BEGIN

Demo: Generics9:42

BEGIN

Exercise: Generics2:56

BEGIN

Concurrent Programming with Go

23 lectures

Function Literals6:18

BEGIN

Demo: Function Literals5:03

BEGIN

Exercise: Function Literals5:30

BEGIN

Defer3:14

BEGIN

Concurrent Programming4:56

BEGIN

Goroutines4:27

BEGIN

Demo: Goroutines4:59

BEGIN

Exercise: Goroutines5:55

BEGIN

Channels9:32

BEGIN

Demo: Channels9:56

BEGIN

Exercise: Channels5:21

BEGIN

Synchronization8:51

BEGIN

Demo: WaitGroups4:37

BEGIN

Demo: Mutexes6:18

BEGIN

Exercise: Synchronization5:57

BEGIN

Concurrency Patterns8:51

BEGIN

Pattern: Pipelines14:42

BEGIN

Pattern: Pipeline Cancellation/Quit4:08

BEGIN

Pattern: Pipeline Fan-In6:03

BEGIN

Pattern: Generator8:05

BEGIN

Pattern: Context6:57

BEGIN

Section Review: Multithreaded grep27:31

BEGIN

Exercise: Imposter Syndrome2:55

BEGIN

Final Milestone Project: Pixl

15 lectures

gcc Installation4:42

BEGIN

Intro & Project Setup3:08

BEGIN

Canvas Overview & State4:59

BEGIN

Creating a Swatch13:29

BEGIN

Swatch Layout & First Run10:18

BEGIN

Color Picker & App Layout4:06

BEGIN

Pixel Canvas Structure8:36

BEGIN

Pixel Canvas Renderer14:28

BEGIN

Pixel Canvas Layout3:29

BEGIN

Panning & Zooming10:04

BEGIN

Painting Pixels9:51

BEGIN

Cursor Display8:59

BEGIN

Creating New Images11:17

BEGIN

Saving Images6:47

BEGIN

Loading Images5:38

BEGIN

Project - MailingList Microservice

11 lectures

Project Setup1:46

BEGIN

Creating Database Tables6:12

BEGIN

Implementing CRUD Operations12:02

BEGIN

JSON Data Processing Functions7:13

BEGIN

JSON Endpoints10:22

BEGIN

Server CLI6:35

BEGIN

Testing JSON API5:15

BEGIN

Protocol Buffers7:17

BEGIN

gRPC Data Processing Functions4:44

BEGIN

gRPC Endpoints14:28

BEGIN

gRPC Client15:27

BEGIN

Keiko Corp

1 lectures

Benchmarking4:05

BEGIN

Where To Go From Here?

6 lectures

Thank You!1:01

BEGIN

Review This Course!

BEGIN

Become An Alumni

BEGIN

Learning Guideline

BEGIN

LinkedIn Endorsements

BEGIN

Coding Challenges

BEGIN

Meet your instructor

Your Golang instructor (Jayson) isn't just an expert with years of real-world professional experience. He has been in your shoes. He makes learning fun. He makes complex topics feel simple. He will motivate you. He will push you. And he will go above and beyond to help you succeed.

Jayson Lennon

Hi, I'm Jayson Lennon!

Jayson is a self-taught developer with numerous industry certifications. He has a unique ability to help students learn in the most effective way possible and provide lessons that are clear, detailed and easy to follow along.

SEE MY BIO & COURSES

Jayson Lennon

Software Engineer

Frequently asked questions

Are there any prerequisites for this course?

  • A computer (Windows, Mac, or Linux) with an internet connection. That's it!
  • No prior programming knowledge is required
  • A willingness and enthusiasm to learn the Go programming language

Who is this course for?

  • Anyone who wants to learn programming as a complete beginner
  • Developers who want to learn Golang and be able to add a new skill to their resume and toolkit
  • Anyone that wants to learn Go by building fun, real-world projects that will make your portfolio stand out
  • Students who are stuck in a cycle of tutorials and want to go beyond "beginner" Go tutorials
  • Anyone interested in building microservices using a performant programming language
  • You're interested in working at companies with large scaling problems that use Go (like Google or Twitch)
  • Bootcamp or online tutorial graduates that want to go beyond the basics
  • You want to learn from an industry professional who actually has real-world industry experience

Do you provide a certificate of completion?

We definitely do and they are quite nice. You will also be able to add Zero To Mastery Academy to the education section of your LinkedIn profile as well.

Can I use the course projects in my portfolio?

Yes, you’d be crazy not to in our slightly biased opinion! All projects are downloadable and ready to use the minute you join.

Many of our students tell us the projects they built while following along with our courses were what got them interviews and because they built the projects themselves, they could confidently explain and walk through their work during the interview.

You know what that means? Job offer!

Are there subtitles?

Yes! We have high quality subtitles in 11 different languages: English, Spanish, French, German, Dutch, Romanian, Arabic, Hindi, Portuguese, Indonesian, and Japanese.

You can even adjust the text size, color, background and more so that the subtitles are perfect just for you!

Still have more questions about the Academy?

Still have more questions specific to the Academy membership? No problem, we answer some more here.

Invest in a better you. For less than a coffee a day.

Choose your currency:
$ USD US Dollar
Lifetime
100% OFF$999
$999
Only pay once, ever
You're serious about advancing your career and never getting left behind
Start Learning Now

MOST POPULAR

Save 40% vs. monthly (that's $189 a year)
Annual
100% OFF$279 / year
$23 / month
$279 / year
You're committed to getting hired and starting a career in tech
Start Learning Now
Monthly
100% OFF$39 / month
$39 / month
You're ready to upskill and advance your career
Start Learning Now

Every ZTM membership includes:

Unlimited access to all courses, projects + workshops, and career paths
Access to our private Discord with 400,000+ members
Access to our private LinkedIn networking group
Custom ZTM course completion certificates
Live career advice sessions with mentors, every month
Full access to all future courses, content, and features
100% RISK FREE

We know you'll love ZTM. That's why we provide a no hassle, 30-day money back guarantee.