Master Go (Golang) Programming:The Complete Go Bootcamp 2020
4.6 (173 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,870 students enrolled

Master Go (Golang) Programming:The Complete Go Bootcamp 2020

Learn Golang in a Unique and Interactive Way. Become a Professional Golang Programmer from Scratch.Go from Zero to Hero!
4.6 (173 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,869 students enrolled
Last updated 4/2020
English [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 13 hours on-demand video
  • 87 articles
  • 27 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Become a professional Go Programmer and get hired.
  • You will MASTER all the Go key concepts starting from Scratch. No prior Go knowledge is required.
  • For each Go Key Concept you'll get an High-Quality Video, a Coding Section, a Quiz, Practice Exercises and Slides.
  • Build a COMPLETE understanding of Go from the ground. Write idiomatic, bug-free Go code using best practices.
  • Learn to work with Go control flow structures: if, for, break, continue, switch, goto, labels etc.
  • Master all the Go data structures in-depth: arrays, slices, strings, maps, structs.
  • Learn to work efficiently with Pointers.
  • Learn to work efficiently with Files.
  • Master the full power of Methods and Interfaces (Go OOP).
  • Understand Go concurrency in-depth: WaitGroups, Mutexes, Buffered and Unbuffered Channels, Select Statement and Patterns.
  • Build massively concurrent programs with Goroutines and Channels.
  • Hundreds of hands-on exercises with solutions and quizzes.
  • Go Packages and Modules In Depth
Course content
Expand all 209 lectures 14:31:17
+ Course Introduction
4 lectures 06:59
IMPORTANT. Please read!
How to Get Better and Faster Support? JOIN OUR ONLINE COMMUNITY!
+ Getting Started
10 lectures 48:00
The Go Playground. Your First Go Program
Setup the Programming Environment on Windows (Go, Git and VSCode)
Setup the Programming Environment on Linux (Go and VSCode)
Setup the Programming Environment on Mac (Go, Git and VSCode)
GOPATH and Code Organization
Go Application Structure
Coding - Go Application Structure
Test Your Knowledge: Getting Started with Go
6 questions
Compiling (go build) and Running Go Applications (go run)
Go Packages and Modules
Formatting Go Source Code (gofmt)
Test Your Knowledge: Formatting Code, Compiling and Running Go Applications
5 questions
+ Go Basics
30 lectures 02:24:09
Variables in Go
Coding - Variables and Declarations
Test Your Knowledge: Variables and Declarations
7 questions
Types and Zero Values
Coding - Types and Zero Values
Naming Conventions in Go
Coding - Comments and Naming Convention
Test Your Knowledge: Types, Zero Values, Comments and Conventions
5 questions
Package fmt
Coding - Package fmt
Test Your Knowledge: Package fmt
5 questions
Constants in Go
Constants Rules
Constant Expressions. Typed vs. Untyped Constants
Coding - Constants and IOTA
Test Your Knowledge: Constants
6 questions
Go Data Types - Part 1
Go Data Types - Part 2
Coding - Go Data Types
Test Your Knowledge: Go Data Types
5 questions
Operations on Types: Arithmetic and Assignment Operators
Comparison and Logical Operators
Coding - Go Operators
Converting Numeric Types
Converting Numbers to Strings and Strings to Numbers
Coding - Converting Types
Test Your Knowledge: Operators and Conversions
5 questions
Defined (Named) Types - part 1
Coding - Defined Types
Alias Declarations
Coding - Aliases
Test Your Knowledge: Defined Types and Aliases
5 questions
+ Coding Challenges - Go Basics
5 lectures 07:09
Declare Variables
Package fmt
Operators and Conversions
Named Types and Aliases
+ Program Flow Control in Go
19 lectures 01:04:37
If, Else If and Else Statements
Coding - If, Else If and Else
Command Line Arguments: os.Args
Coding - Command Line Arguments
Simple If Statement
Coding - Simple If
Test Your Knowledge: If, Else If and Else Statements
5 questions
For Loops
Where is the While Loop in Go?
Coding - For Loops
For and Continue Statements
For and Break Statements
Coding - For, Break and Continue
Test Your Knowledge: For Loops
5 questions
Label Statement
Coding - Labels and Goto Statements
Switch Statement
Test Your Knowledge: Label, Goto and Switch Statements
4 questions
Coding - Switch Statement
Coding - Scopes
Test Your Knowledge: Scopes
4 questions
+ Coding Challenges - Flow Control
1 lecture 01:31
Coding Challenge Exercises - Flow Control
+ Arrays in Go
6 lectures 24:56
Intro to Arrays
Declaring Arrays
Array Operations
Coding - Declaring Arrays and Operations
Arrays with Keyed Elements
Coding - Arrays with Keyed Elements
Test Your Knowledge: Arrays
5 questions
+ Slices in Go
12 lectures 55:08
Intro to Slices
Declaring Slices and Basic Slice Operations
Comparing Slices
Coding - Slice Basics
Appending to a Slice. Copying Slices
Test Your Knowledge: Slice Basics
5 questions
Slice Expressions
Coding - Slice Expressions
Slice Internals: Backing Array and Slice Header -part 1
Coding - Slice's Backing Array
Append, Length and Capacity In-Depth
Coding - Appending to Slices
Test Your Knowledge: Slice Expressions and Slice Header
5 questions
  • A computer (Windows, Mac, or Linux) with an Internet connection. That's it!
  • No prior Go programming knowledge is required. You will learn everything from scratch!
  • PC Skills such as downloading and installing a program, opening a terminal and running basic commands etc
  • Your time and enthusiasm to learn.

***Fully updated for 2020*** This Go Programming course covers every major topic, including Pointers, Methods and Interfaces (Go OOP), Concurrency In Depth (Goroutines, Channels, Mutexes, WaitGroups), Go Packages and Modules and many more!

I am constantly updating the course to be the most comprehensive, yet straight-forward, Go Programming course on the market!


  • Update: January, 2020 - NEW Section: Go Packages and Modules (2 hours of videos, complete list of commands and a Quiz)

  • Update: November, 2019 - NEW Section: Concurrency in Go  (2 hours of videos, coding sections, a Project and Quizzes)

  • Closed and Exclusive FB Learning Group Created: October 30, 2019

  • Course Launch: October 29, 2019

This course IS NOT like any other Go Programming course you can take online. At the end of this course you will MASTER all the Golang key concepts starting from scratch and you'll be in the top Go Programmers.

This is a brand new Go Programming course just launched in October 2019 and is a perfect match for both beginners and experienced developers!

Welcome to this practical Go Programming  course for learning Go, the language created to solve "Google-size" problems.

Go (Golang) will be one of the most in-demand programming languages across the job market in the near future! Go is on a Trajectory to Become the Next Enterprise Programming Language. Cutting-Edge Technologies and Software are already written in Go, for example Docker, Kubernetes, Terraform or Ethereum.  In addition to Google, Golang is used by Uber, Netflix, Medium, Pinterest, Slack, SoundCloud, Dropbox and so many more!

By enrolling in this course now, you make the best investment in your career!

This course, taught by me, a Senior Software Engineer and Professional Trainer, is the only one you need in order to become a complete professional Go Programmer. After this course you'll have an in-depth knowledge of core and advanced Go.

Why this Go  Programming course?

This Go (Golang) course is a unique experience on Udemy. There are many other Go courses you can choose from, but this course is completely different.

For every Go language key concept, you'll get NOT ONLY a video but also:

1. Tens of Quizzes

2. Practice Exercises and Challenges

3. Coding Section Full of Examples

4. Slides with main points

5. You'll have access to my closed and exclusive online Group in order to provide you with improved, faster and better support for your course-related questions.  I am always available to guide you personally, and answer any questions you might have.

Why should you learn from me?

  • I'm a Practitioner and an Enthusiast. Welcome to the real world! I have almost 20 years experience as a Developer and Sysadmin. Since I've started with Programming and Networking in the early 2000s, I've been using or studying the technology almost on a daily basis. I also have a bunch of certifications in the area of Programming or Networking.

  • I'm an Educator and I  know how to make a Syllabus. I know exactly what is important and what is not. For the last 10 years I've trained thousands of people on Programming and Networking

  • You'll learn not only Go Programming, but also advanced concepts for real-word projects. After this course you'll MASTER all the Golang key concepts.

You'll have lifetime access and you can return and look for a specific  concept  anytime you want. And let's not forget, if you don't  like the course, you are covered by a 30 day money back guarantee, full refund, no questions asked!

The topics covered in this Complete Go (Golang) Programming Bootcamp are:

  • Installing Go, Git and VSCode  on Windows, Mac and Linux

  • Compiling and Running Go Programs

  • Using Go tools like go fmt to format and write idiomatic Go code

  • GOPATH and Go Application Structure

  • Go Packages and Modules In Depth

  • Publish Modules on GitHub

  • Declarations, Variables, Constants and Comments in Go

  • Constant Rules, Typed vs. Untyped Constans, IOTA

  • Math, Comparison and Logical Operators

  • Go Data Types in Depth, Zero Values, Dynamically vs. Statically Typed Languages

  • Converting Types

  • fmt Package: Println, Printf, Sprintf etc

  • Named (Defined) Types in Go

  • Alias Declarations

  • Flow Control: if, simple if statement, for, continue, break, switch, labels, goto

  • Scopes in Go

  • Strings, Runes, Bytes and UTF-8 in Go

  • strings Package

  • Arrays in Go

  • Slices in Go

  • Maps in Go

  • Structs in Go

  • User-defined Functions, Variadic and Anonymous Functions, Defer Statement

  • Working with Files in Go: os, io, ioutil, bufio packages

  • Error Handling

  • Pointers In Depth: Dereferencing and Address of Operators, Passing to Functions and Methods etc

  • Methods (Function Receivers) and Interfaces (Go OOP): Embedded Interfaces, Empty Interface, Type Assertions and Type Switches etc

  • Concurrency in Go

  • Goroutine Synchronization Using WaitGroups

  • Data Races, Go Race Detector and Mutexes

  • Goroutines and Channels

  • Buffered and Unbuffered Channels

  • Channel Select Statement

  • Course Bonuses

Every topic includes many live examples in Go, a coding section, tens of quizzes, slides and many practice exercises. 

At the end of this Go Programming Course, you'll also have acquired the prerequisite Go skills to move into specific branches: Network and Server Programming, Cloud and Infrastructure Programming, Large-Scale Software Development in general.

If you want to take ONE COURSE to master Go (Golang) Programming you should choose this one and you'll have no regrets!

Who this course is for:
  • Beginners with very basic programming experience.
  • Programmers switching languages to Go.
  • Programmers who know Go basics and want to master Golang.
  • This course should not be attended by senior Go programmers.