Learn all the key fundamentals of Go - one of the most in-demand and popular programming languages you can learn these days! Go (or Golang) is a very modern, performant and popular programming language which you can use to build applications, scripts, automations, web servers and APIs and much more!
Getting Started With Golang
Getting Started With Golang is a 161-lesson 15 hours 19 minutes self-paced course by Academind Pro (Maximilian Schwarzmüller). Learn all the key fundamentals of Go - one of the most in-demand and popular programming languages you can learn these days!
Course facts
- Lessons
- 161
- Duration
- 15 hours 19 minutes
- Level
- All levels
- Language
- English
- Updated
- Instructor
- Academind Pro (Maximilian Schwarzmüller)
- Price
- Premium
Go was originally invented and developed by a team at Google and whilst Google still heavily uses Go, it's now also very popular outside of Google. Golang regularly scores top placements in Stackoverflow surveys: In 2020, Go was the 5th most loved language according to the Stackoverflow survey.
Hence there was never a better time to get started with go and in this course, you'll learn all the key fundamentals of Go in great depth, step by step and from the ground up.
NO prior Go knowledge is assumed and you will of course learn all key concepts with both theory and practical examples, demo projects and exercises. After finishing this course, you will understand how Go works, how to write Go code and which features Go has to offer. Of course we're also going to build multiple demo projects throughout this course!
In detail, this course will teach you:
- What Go is and how it works
- The general Go syntax and rules
- Key basics like working with values & variables
- All about Go's value types, how they differ and how you use them
- How to write functions with Go
- "Special features" like multiple return values in functions
- How to organize your code into packages and modules
- How to work with third-party modules
- How to run and build Go programs
- All about controlling code flow with conditionals and loops
- More complex data types like structs
- Collection value types like arrays, slices and maps (+ how and when to use them)
- A highly understandable explanation of "Pointers"
- And so much more!
This course doesn't assume any prior Go knowledge and will turn you into a Go developer in a matter of hours!
I'd love to start this journey together with you! :)
Additional
Who teaches Getting Started With Golang? Academind Pro (Maximilian Schwarzmüller)
Academind is the teaching brand of Maximilian Schwarzmüller (Max) and Manuel Lorenz, two German developers whose Udemy catalog has become one of the largest single-instructor presences on that platform. Max in particular is widely cited as one of the clearest teachers of the JavaScript framework landscape — his Angular, React, Vue, and Node.js courses have collectively taught millions of students.
The Academind Pro platform extends beyond Udemy with deeper, more comprehensive courses aimed at developers building real applications rather than picking up syntax. Course material covers the full modern web stack: React (including Next.js), Vue, Angular, Node.js, NestJS, TypeScript, Docker, AWS, React Native, Flutter, and the broader full-stack JavaScript ecosystem.
The CourseFlix listing under this source carries over 25 Academind Pro courses spanning that range. Material is paid; Academind Pro runs on per-course pricing on the original platform. Courses are taught in Max's signature thorough, build-an-application-with-me style — long-form, deeply project-based, and continuously updated as the underlying frameworks evolve.
What lessons are included in Getting Started With Golang?
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Welcome To The Course Demo | 01:01 | |
| 2 | What Is Go? | 06:13 | |
| 3 | Why Would You Use Go? | 03:53 | |
| 4 | Installing Go | 03:56 | |
| 5 | Code Editor Setup (VS Code) | 02:41 | |
| 6 | Finishing Editor Config & First Go Code | 06:54 | |
| 7 | Basic Programming Knowledge Helps! | 01:56 | |
| 8 | About This Course | 02:22 | |
| 9 | How To Get The Most Out Of This Course | 03:51 | |
| 10 | Module Introduction | 01:27 | |
| 11 | Base Syntax & Language Features | 09:09 | |
| 12 | Getting Started With Values & Value Types | 05:26 | |
| 13 | Exploring Variables | 09:35 | |
| 14 | The "int" Type & Math Operations | 08:21 | |
| 15 | Time To Practice: Problem | 05:39 | |
| 16 | Time To Practice: Solution | 10:25 | |
| 17 | Working With Floats & Type Conversions | 07:48 | |
| 18 | float64 vs float32 | 03:31 | |
| 19 | A Brief Look At "bool", "rune" and "byte" Types | 07:11 | |
| 20 | String Operations & Type Clashes | 06:27 | |
| 21 | Formatting Strings | 11:06 | |
| 22 | Time To Practice: Problem | 02:42 | |
| 23 | Time To Practice: Solution | 07:37 | |
| 24 | Go Packages & Modules: The Theory | 05:34 | |
| 25 | Creating & Using A First Module | 05:00 | |
| 26 | Working With Packages & Exports + Imports | 09:02 | |
| 27 | Using Constant Values (Constants) | 03:55 | |
| 28 | Module Summary | 02:53 | |
| 29 | Module Introduction | 01:50 | |
| 30 | Creating Our Go Module | 04:24 | |
| 31 | Printing Output | 03:41 | |
| 32 | Fetching User Input | 08:20 | |
| 33 | Cleaning & Parsing User Input | 10:16 | |
| 34 | BMI Calculation & Outputting Formatted Strings | 03:41 | |
| 35 | Using Constant Values | 04:21 | |
| 36 | Splitting Our Code Into Files & Packages | 07:39 | |
| 37 | Module Introduction | 00:50 | |
| 38 | What Is A "Function"? | 03:50 | |
| 39 | Creating A Function & Working With Parameters + Return Values | 10:11 | |
| 40 | Practicing Functions | 03:44 | |
| 41 | Go Special Feature: Multiple Return Values | 07:57 | |
| 42 | Using Named Return Values | 03:40 | |
| 43 | Module Summary | 01:39 | |
| 44 | Module Introduction | 02:53 | |
| 45 | Creating a First Function | 03:45 | |
| 46 | Outsourcing The User Input Logic | 05:22 | |
| 47 | Finishing the "main" Function Refactoring | 05:23 | |
| 48 | Avoiding Code Duplication | 06:25 | |
| 49 | Module Summary | 01:12 | |
| 50 | Module Introduction | 00:47 | |
| 51 | What Are Pointers & Why Do We Have Them? | 08:08 | |
| 52 | Creating a First Pointer | 05:07 | |
| 53 | Working With Pointers | 05:36 | |
| 54 | Advantages Of Pointers (& Disadvantages) | 08:48 | |
| 55 | Module Introduction | 00:55 | |
| 56 | What & Why + Defining a First Struct | 09:26 | |
| 57 | Creating Struct Instances | 06:22 | |
| 58 | Creating Structs With "Creation Functions" | 03:40 | |
| 59 | Structs & Pointers | 04:32 | |
| 60 | Accessing Struct Values | 08:43 | |
| 61 | Adding Methods To Structs | 07:20 | |
| 62 | Module Summary | 04:18 | |
| 63 | Module Introduction | 03:07 | |
| 64 | Defining a Struct | 03:30 | |
| 65 | Creating Struct Instances | 09:45 | |
| 66 | Adding a Method | 05:03 | |
| 67 | Reading User Input | 14:07 | |
| 68 | Writing To Files | 07:54 | |
| 69 | Module Introduction | 01:09 | |
| 70 | Introducing Arrays For Storing Lists Of Data | 08:03 | |
| 71 | Working With Arrays | 06:19 | |
| 72 | Selecting Parts Of Arrays With Slices | 03:27 | |
| 73 | More Ways Of Using Slices | 02:24 | |
| 74 | Slices - Deep Dive | 09:44 | |
| 75 | Creating Dynamic Lists With Slices | 09:17 | |
| 76 | Time To Practice - Problem | 04:18 | |
| 77 | Time To Practice - Solution | 20:11 | |
| 78 | Unpacking List Values | 03:30 | |
| 79 | Introducing Maps | 06:49 | |
| 80 | Mutating Maps | 03:42 | |
| 81 | Maps vs Structs | 04:01 | |
| 82 | Module Introduction | 01:15 | |
| 83 | Working on the Project Setup | 05:35 | |
| 84 | Introducing "if" Statements | 03:47 | |
| 85 | More about "if" Statements & Boolean Values (Booleans) | 04:41 | |
| 86 | "else" & "else if" | 05:09 | |
| 87 | Combining Conditions | 04:29 | |
| 88 | Handling Expected Errors | 08:11 | |
| 89 | Returning Errors In Functions | 03:34 | |
| 90 | Practicing What We Learned | 13:51 | |
| 91 | Onwards To "Loops" (and why do we need them?) | 05:45 | |
| 92 | Introducing a Basic "for" Loop | 05:12 | |
| 93 | A More Useful Loop | 02:56 | |
| 94 | Practicing Basic "for" Loops | 04:23 | |
| 95 | Go's "while" Loop | 09:44 | |
| 96 | Preparing Another Scenario | 05:30 | |
| 97 | Looping Through Collections (Arrays, Slices, Maps) | 05:23 | |
| 98 | "continue" and "break" | 02:34 | |
| 99 | Module Summary | 02:48 | |
| 100 | Module Introduction | 01:47 | |
| 101 | Planning the App | 05:21 | |
| 102 | Initializing The Project | 02:13 | |
| 103 | Adding The Core Game Steps & Logic | 05:25 | |
| 104 | Outputting Text & Adding a First Package | 04:06 | |
| 105 | Keeping Track Of The Active Round | 05:00 | |
| 106 | Displaying Available Player Actions | 03:39 | |
| 107 | Getting Started With Fetching User Input | 06:55 | |
| 108 | Validating & Using User Input | 11:06 | |
| 109 | Generating (True) Random Numbers | 07:18 | |
| 110 | Adding Logic For Different Actions | 07:03 | |
| 111 | Utilizing Constants | 05:46 | |
| 112 | Checking For A Winner | 11:13 | |
| 113 | Adding the "End Game" Logic | 03:51 | |
| 114 | Outputting Round Data (with a Struct) | 18:06 | |
| 115 | Managing Multiple Rounds (with a Slice) | 05:46 | |
| 116 | Writing To A Log File | 10:12 | |
| 117 | Module Summary | 01:13 | |
| 118 | Module Introduction | 01:18 | |
| 119 | Using Third-Party Modules | 10:47 | |
| 120 | Building Go Projects (Standalone Executables) | 03:51 | |
| 121 | A Gotcha: Executables & File Paths | 07:39 | |
| 122 | Module Introduction | 01:31 | |
| 123 | Variables, Scope & Variable Shadowing | 07:37 | |
| 124 | "make"ing Values | 10:27 | |
| 125 | The "new" Function | 07:02 | |
| 126 | new vs make | 01:22 | |
| 127 | Working With Custom Types | 10:36 | |
| 128 | More On Constants | 07:56 | |
| 129 | Module Summary | 03:19 | |
| 130 | Module Introduction | 01:00 | |
| 131 | Using Functions As Values & Function Types | 15:11 | |
| 132 | Returning Functions In Functions | 06:22 | |
| 133 | Introducing Anonymous Functions | 06:35 | |
| 134 | Working with Closures | 06:43 | |
| 135 | Using Recursion | 11:21 | |
| 136 | Introducing Variadic Functions | 06:48 | |
| 137 | Splitting Slices Into Parameter Lists | 03:06 | |
| 138 | Deferring Function Execution with "defer" | 09:05 | |
| 139 | Panic! | 04:12 | |
| 140 | Module Summary | 02:43 | |
| 141 | Module Introduction | 00:56 | |
| 142 | What's the Problem? | 06:32 | |
| 143 | Interfaces As a Solution (i.e. What are Interfaces?) | 06:18 | |
| 144 | Example Time: Built-in Interfaces We Already Used | 04:55 | |
| 145 | Interfaces: Rules & Conventions | 05:07 | |
| 146 | Empty Interfaces | 04:37 | |
| 147 | Flexible Code With Empty Interfaces & Type Switches | 11:04 | |
| 148 | Module Summary | 01:31 | |
| 149 | Module Introduction | 00:45 | |
| 150 | Embedding Interfaces | 08:16 | |
| 151 | Embedding Structs | 05:59 | |
| 152 | Module Introduction | 00:54 | |
| 153 | What Is Concurrency? | 01:44 | |
| 154 | Introducing Goroutines | 07:46 | |
| 155 | Working With Channels | 09:00 | |
| 156 | Reading From A Channel Multiple Times | 02:00 | |
| 157 | Transmitting Values Via Channels | 08:26 | |
| 158 | Looping Through Channel Values | 05:27 | |
| 159 | Using Buffered Channels | 07:05 | |
| 160 | Using The "select" Statement | 04:10 | |
| 161 | Module Summary | 02:44 |
Get instant access to all 160 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionWhat courses are similar to Getting Started With Golang?
-
Updated 4mo agoBackend Master Class [Golang + PostgreSQL + Kubernetes]
By: 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 strongly18h 51m -
Updated 4mo agoThe Anatomy of Go
By: ByteSizeGo, Phuong LeThe Anatomy of Go by Phuong Le (ByteSizeGo) — deep dive into the Go type system, memory model, goroutines, concurrency, and runtime internals. -
Updated 5mo agoGolang for Beginners
By: Zero To MasteryLearn Golang from scratch. Dive into the world of scalable and high-performance software. Prepare your skills for real-world projects and interviews.2h 28m -
Updated 11mo agoUltimate Go: Software Design with Kubernetes 2.0
By: Ardan LabsThis course shows you how to build Go services with Domain Driven Design and Data Oriented Architecture.22h 32m -
Updated 2y agoGo: The Complete Developer's Guide (Golang)
By: Udemy, Stephen GriderGo is an open source programming language created by Google. As one of the fastest growing languages in terms of popularity, its a great time to pick up the ba8h 21m -
Updated 2y agoLearn How To Code: Google's Go (golang) Programming Language
By: UdemyThis course is the ultimate comprehensive resource for learning the Go Programming Language. This course is perfect for both beginners and experienced developer45h 27m -
FreeUpdated 2y agoUltimate Debugging
By: Ardan LabsUltimate Debugging is a course that will help you master the art of debugging software at a deep level.10h 15m
More courses by Academind Pro (Maximilian Schwarzmüller)
-
NewReact - The Complete Guide
React: The Complete Guide by Maximilian Schwarzmüller — original 2022 edition covering React hooks, Redux, Context API, Next.js basics.47h 42m5/5 -
Updated 2y agoReact Native - The Practical Guide [2024 Edition]
Mobile apps are one of the best ways to engage with users - no wonder everyone wants to build one! Wouldn't it be great if you could use your web development kn28h 33m3/5 -
Updated 2y agoChatGPT - The Complete Guide
Unlock the power of AI and gain a huge productivity boost with our comprehensive online video course!15h 37m5/5 -
Updated 3y agoSQL - The Complete Guide (MySQL, PostgreSQL & more)
SQL is THE most important query language you can learn! It's used by many popular database management systems like MySQL or PostgreSQL. But it's also used by da19h 35m5/5 -
FreeUpdated 3y agoCSS - The Complete Guide 2022 (incl. Flexbox, Grid & Sass)
CSS - short for C ascading S tyle S heets - is a "programming language" you use to turn your raw HTML pages into real beautiful websites.20h 54m5/5 -
ClassicUnderstanding TypeScript - 2023 Edition
Learn what TypeScript is, why it really is a powerful Addition to JavaScript, what its Features are and how to use it!14h 54m5/5