Fully updated for 2021. 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! 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.
Go (Golang) Programming The Complete Go Bootcamp 2023
This is a brand new Go Programming course just updated 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!
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
About the Author: udemy
Udemy is a global online marketplace for teaching and learning. It connects students with instructors who share skills in many fields.
Who Uses Udemy
Millions of learners use Udemy to gain skills for work and personal growth. Companies, governments, and nonprofits also use Udemy to train their teams.
What Udemy Offers
Udemy provides a curated set of business and technical courses. These courses help teams build practical skills and support ongoing learning at work.
Watch Online 155 lessons
| # | Lesson Title | Duration |
|---|---|---|
| 1 | Why Go Programming? Why now? | 02:25 |
| 2 | The Go Playground. Your First Go Program | 07:59 |
| 3 | Setup the Programming Environment on Windows (Go, Git and VSCode) | 09:40 |
| 4 | Code Organization | 04:00 |
| 5 | The Structure of a Go Application | 07:29 |
| 6 | Compiling (go build) and Running Go Applications (go run) | 08:26 |
| 7 | Formatting Go Source Code (gofmt) | 05:31 |
| 8 | Variables in Go | 08:44 |
| 9 | Multiple Declarations | 06:39 |
| 10 | Types and Zero Values | 05:23 |
| 11 | Comments | 03:09 |
| 12 | Naming Conventions in Go | 06:47 |
| 13 | Package fmt | 15:21 |
| 14 | Constants in Go | 08:28 |
| 15 | Constant Rules | 03:40 |
| 16 | Constant Expressions. Typed vs. Untyped Constants | 07:51 |
| 17 | IOTA | 04:44 |
| 18 | Go Data Types - Part 1 | 08:34 |
| 19 | Go Data Types - Part 2 | 06:29 |
| 20 | Operations on Types: Arithmetic and Assignment Operators | 09:40 |
| 21 | Comparison and Logical Operators | 06:41 |
| 22 | Overflows | 06:26 |
| 23 | Converting Numeric Types | 05:46 |
| 24 | Converting Numbers to Strings and Strings to Numbers | 07:55 |
| 25 | Defined (Named) Types - part 1 | 02:42 |
| 26 | Defined (Named) Types - part 2 | 05:49 |
| 27 | Alias Declarations | 03:45 |
| 28 | If, Else If and Else Statements | 07:43 |
| 29 | Command Line Arguments: os.Args | 06:41 |
| 30 | Simple If Statement | 08:54 |
| 31 | For Loops | 03:31 |
| 32 | Where is the While Loop in Go? | 02:54 |
| 33 | For and Continue Statements | 02:24 |
| 34 | For and Break Statements | 03:19 |
| 35 | Label Statement | 05:56 |
| 36 | Goto | 03:10 |
| 37 | Switch Statement | 08:05 |
| 38 | Scopes in Go | 08:15 |
| 39 | Intro to Arrays | 02:45 |
| 40 | Declaring Arrays | 05:38 |
| 41 | Array Operations | 07:52 |
| 42 | Arrays with Keyed Elements | 06:56 |
| 43 | Intro to Slices | 01:45 |
| 44 | Declaring Slices and Basic Slice Operations | 07:38 |
| 45 | Comparing Slices | 06:04 |
| 46 | Appending to a Slice. Copying Slices | 05:19 |
| 47 | Slice Expressions | 06:44 |
| 48 | Slice Internals: Backing Array and Slice Header -part 1 | 06:02 |
| 49 | Slice Internals: Backing Array and Slice Header - part 2 | 08:47 |
| 50 | Append, Length and Capacity In-Depth | 08:34 |
| 51 | Intro to Strings | 08:14 |
| 52 | Intro to Runes, Bytes and Unicode Code Points | 03:06 |
| 53 | Coding Runes and Strings. Decoding Strings Byte by Byte and Rune by Rune | 06:51 |
| 54 | String Length in Bytes and Runes | 03:14 |
| 55 | Slicing Strings | 03:48 |
| 56 | Strings Package Part1: Contains, ContainsAny, Count, ToLower, ToUpper, EqualFold | 07:53 |
| 57 | Strings Package Part2. Manipulating Strings: Repeat, Replace, Split, Join, Field | 10:05 |
| 58 | Intro to Maps | 03:23 |
| 59 | Declaring Maps, Working with Maps | 14:29 |
| 60 | Comparing Maps | 03:30 |
| 61 | Map Header. Cloning Maps | 05:03 |
| 62 | Open, Close, Rename, Move, Remove Files | 13:46 |
| 63 | Writing Bytes to File: os.Write and ioutil.WriteFile | 06:42 |
| 64 | Writing to Files using a Buffered Writer (bufio Package) | 07:08 |
| 65 | Reading n Bytes from a File. Reading a File using a Buffered Reader | 06:26 |
| 66 | Reading a File Line by Line Using a Scanner | 06:26 |
| 67 | Scanning for User Input. Reading From Stdin | 05:43 |
| 68 | Organizing Data with Structs | 01:51 |
| 69 | Creating Structs | 08:49 |
| 70 | Retrieving and Updating Struct Fields | 05:40 |
| 71 | Anonymous Structs and Anonymous Struct Fields | 05:56 |
| 72 | Embedded Structs | 05:36 |
| 73 | Intro to Functions | 02:31 |
| 74 | Function Parameters, Arguments and Return Values | 09:19 |
| 75 | Variadic Functions - Part 1 | 04:37 |
| 76 | Variadic Functions - Part 2 | 08:03 |
| 77 | Defer Statement | 04:24 |
| 78 | Anonymous Functions | 04:46 |
| 79 | Computer Memory and Pointers | 03:43 |
| 80 | Declaring Pointers. Address of and Dereferencing Operators | 11:09 |
| 81 | Pointer to Pointer. Comparing Pointers | 05:43 |
| 82 | Passing and Returning Pointers From Functions - Part 1 | 05:02 |
| 83 | Passing Pointers to Functions. Passing by Value vs. Passing by Pointer - Part 2 | 13:57 |
| 84 | Receiver Functions (Methods) | 07:53 |
| 85 | Methods with a Pointer Receiver | 10:20 |
| 86 | Intro to Interfaces | 05:44 |
| 87 | Implementing Interfaces | 07:25 |
| 88 | Interface Dynamic Type and Polymorphism | 04:16 |
| 89 | Type Assertions and Type Switches | 06:54 |
| 90 | Embedded Interfaces | 05:07 |
| 91 | Empty Interface | 07:17 |
| 92 | Concurrency vs. Parallelism | 03:50 |
| 93 | Intro to Goroutines | 04:11 |
| 94 | Spawning Goroutines. The go Keyword | 08:29 |
| 95 | WaitGroups | 04:09 |
| 96 | Project: URL Checker and Page Downloader | 12:17 |
| 97 | Project Refactoring Using WaitGroups : URL Checker and Page Downloader | 04:54 |
| 98 | Data Race | 07:08 |
| 99 | Go Race Detector | 04:04 |
| 100 | Mutexes | 04:48 |
| 101 | Intro to Channels | 09:41 |
| 102 | Goroutines and Channels | 05:01 |
| 103 | Goroutines, Channels and Anonymous Function | 02:58 |
| 104 | Project Refactoring Using Channels: URL Checker and Page Downloader | 08:03 |
| 105 | Project Refactoring Using Channels and Anonymous Function | 07:39 |
| 106 | Unbuffered Channels | 04:16 |
| 107 | Buffered Channels | 08:53 |
| 108 | Select Statement | 06:51 |
| 109 | Go Packages Overview | 02:39 |
| 110 | Creating a Package | 09:44 |
| 111 | GOPATH and Packages In Depth | 07:40 |
| 112 | Exporting Names. Private vs. Private Access | 05:46 |
| 113 | Import Statement and Scopes | 09:04 |
| 114 | The Init function | 04:28 |
| 115 | Go Modules Overview | 04:07 |
| 116 | Importing and Using Go Modules | 08:39 |
| 117 | Creating Your Own Go Module | 05:21 |
| 118 | Publish the Module on GitHub. Semantic Versioning | 10:59 |
| 119 | Releasing a Bug Fix and a Minor Update | 08:15 |
| 120 | Releasing a Major Update | 06:38 |
| 121 | Using Multi-Version Dependency | 02:31 |
| 122 | Installing Ubuntu in a VM | 13:22 |
| 123 | Things to Do After Installing Ubuntu | 10:17 |
| 124 | Terminals, Consoles, Shells and Command | 09:34 |
| 125 | Linux Command Structure | 06:56 |
| 126 | Getting Help, Man Pages (man, type, help, apropos) | 11:10 |
| 127 | Mastering the Terminal: The TAB Key | 06:43 |
| 128 | Mastering the Terminal: Keyboard Shortcuts | 04:59 |
| 129 | Mastering the Terminal: The Bash History | 08:41 |
| 130 | root vs. Non-privileged Users. Getting root Access (sudo, su, passwd) | 11:25 |
| 131 | Intro to The Linux Files System | 05:29 |
| 132 | The Filesystem Hierarchy Standard (FHS) | 09:40 |
| 133 | Absolute vs. Relative Paths. Walking through the File System (pwd, cd, tree) | 13:11 |
| 134 | The LS Command In Depth (ls) | 08:23 |
| 135 | Understanding File Timestamps: atime, mtime, ctime (stat, touch, date) | 09:45 |
| 136 | Sorting Files by Timestamp | 01:55 |
| 137 | File Types in Linux (ls -F, file) | 08:23 |
| 138 | Viewing Files - Part 1 (cat) | 04:29 |
| 139 | Viewing Files - Part 2 (less, more) | 03:51 |
| 140 | Viewing Files - Part 3 (tail, head, watch) | 06:19 |
| 141 | Creating Files and Directories (touch, mkdir) | 07:11 |
| 142 | Copying Files and Directories (cp) | 06:21 |
| 143 | Moving and Renaming Files and Directories (mv) | 07:47 |
| 144 | Removing Files and Directories (rm, shred) | 09:29 |
| 145 | Working With Pipes in Linux (|, wc) | 08:08 |
| 146 | Command Redirection (>, >>, 2> &>, cut, tee) | 14:32 |
| 147 | Finding Files and Directories - Part 1 (locate, which) | 10:12 |
| 148 | Finding Files and Directories - Part 2 (find) | 11:44 |
| 149 | Find and Exec | 04:25 |
| 150 | Searching for String Patterns in Text Files (grep) | 12:33 |
| 151 | Searching for Strings in Binary Files (strings) | 03:40 |
| 152 | Comparing Files (cmp, diff, sha256) | 09:55 |
| 153 | Compressing and Archiving Files and Directories (tar, gzip) | 14:16 |
| 154 | Hard Links and the Inode Structure | 09:30 |
| 155 | Working With Symlinks. Symlinks vs. Hard Links | 05:23 |
Related courses
-

Introduction to industry REST microservices in Golang (Go)
Sources: udemyIn this course I'm doing the very same I've been doing for the past 6 years: Analysis, design and development of high-performance microservices in Go. This is not an introduction…15 hours 45 minutes 33 seconds -
![Backend Master Class [Golang + PostgreSQL + Kubernetes] thumbnail Backend Master Class [Golang + PostgreSQL + Kubernetes] thumbnail](https://cdnq.courseflix.net/course/thumbnail/backend-master-class-golang-postgresql-kubernetes-160x90.webp)
Backend Master Class [Golang + PostgreSQL + Kubernetes]
Sources: udemyThis course is designed with a lot of details, so that everyone, even with very little programming experience can understand and do it by themselves. I strongly18 hours 51 minutes 54 seconds -
![Golang + Lambda Masterclass [EARLY-ACCESS] thumbnail Golang + Lambda Masterclass [EARLY-ACCESS] thumbnail](https://cdnq.courseflix.net/course/thumbnail/golang-lambda-masterclass-early-access-160x90.webp)
Golang + Lambda Masterclass [EARLY-ACCESS]
Sources: Gourav KumarThis course teaches you everything you need to create production-ready Golang + Lambda Microservices, REST APIs, and Event-Driven serverless applications on AWS cloud like a…1 hour 41 minutes 25 seconds -

Golang: How to Build a Blockchain in Go Guide
Sources: udemyLearn how to build a blockchain from scratch with Go Programming Language (Golang). With the emergence of Facebook's cryptocurrency, Libra, companies like Amazon, Microsoft, and…5 hours 24 minutes 9 seconds -

Master Go
Sources: appliedgo.com (Christoph Berger)A few years ago, I discovered Go and immediately fell in love with this language. I loved how the incredibly clean design of the language, as well as the awesome toolchain…6 hours 32 minutes 20 seconds -

Ardan Labs Live Bytes (Ultimate Go Syntax LIVE)
Sources: ardanlabs.comRecording of live translation Ultimate Go Syntax LIVE (March 2020 year) using Zoom. Recording of live translation Ultimate Go Syntax LIVE (March 2020 year) using Zoom.1 hour 48 minutes 40 seconds