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, suddenly made coding a breeze. Still, every language able to produce production-level code has some inherent complexity, and soon I found myself dragging pieces of information together, from various tutorials, blogs, forums, books, and other parts of the internet. You bet that these information bits were often incomplete, targeted at a different level than I needed, or even contradicted each other.
Master Go
Master Go is a 85-lesson 6 hours 32 minutes self-paced course by Christoph Berger (AppliedGo). A few years ago, I discovered Go and immediately fell in love with this language.
Course facts
- Lessons
- 85
- Duration
- 6 hours 32 minutes
- Level
- All levels
- Language
- English
- Updated
- Instructor
- Christoph Berger (AppliedGo)
- Price
- Premium
I really wished I had everything in one place, carefully collected and assembled into a sane curriculum, presented in a pleasant way, with consistent style, easy to digest.
And so I built Master Go, to give you the course that I wish I had. A course designed to be efficient, intuitive, and complete.
Who teaches Master Go? Christoph Berger (AppliedGo)
Christoph Berger publishes the AppliedGo blog and YouTube channel — one of the longer-running independent sources of practical Go tutorials, focused on idiomatic patterns and small standalone programs that teach a concept end-to-end.
His CourseFlix listing carries Master Go — a comprehensive Go course aimed at developers picking up the language for back-end and systems work.
Material is paid and aimed at developers from other backgrounds adopting Go for production work. For a broader Go syllabus on CourseFlix, see the full Golang category page where this course sits alongside material from Bill Kennedy (Ardan Labs), ByteSizeGo, and the wider Go teaching community.
What lessons are included in Master Go?
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Welcome! Demo | 05:29 | |
| 2 | Intro to section 1 | 01:12 | |
| 3 | Installing Git | 00:54 | |
| 4 | Installing Go | 03:49 | |
| 5 | Installing Visual Studio Code | 05:24 | |
| 6 | Get the code | 02:09 | |
| 7 | Your First Go Program | 04:24 | |
| 8 | Go Documentation on golang.org | 06:24 | |
| 9 | The Go Playground | 02:49 | |
| 10 | Intro to section 2 | 00:47 | |
| 11 | Variables | 05:08 | |
| 12 | Control Structures 1 - if | 02:22 | |
| 13 | Control Structures 2 - switch | 01:48 | |
| 14 | Control Structures 3 - for | 04:55 | |
| 15 | A Quick Intro to Using Libraries | 04:38 | |
| 16 | Input and Output 1 - Printing | 03:15 | |
| 17 | Input and Output 2 - Scanning | 04:08 | |
| 18 | Input and Output 3 - Command Line | 01:46 | |
| 19 | Input and Output 4 - Flags | 03:51 | |
| 20 | Exercise: Build Your First Little Commandline Tool! | 02:09 | |
| 21 | Strings 1 - Basics | 05:38 | |
| 22 | Strings 2 - Unicode | 04:40 | |
| 23 | Strings 3 - Literals | 01:58 | |
| 24 | Numeric Data Types 1 - Integers and Booleans | 06:57 | |
| 25 | Numeric Data Types 2 - Floating Point Numbers | 04:02 | |
| 26 | Numeric Data Types 3 - Floating Point Tips | 05:46 | |
| 27 | Numeric Data Types 4 - Complex Numbers | 02:24 | |
| 28 | Constants | 07:27 | |
| 29 | Pointers | 05:57 | |
| 30 | Functions 1 - Declaring Functions | 04:26 | |
| 31 | Functions 2 - Function Behavior (recursion, deferred functions, scope) | 04:19 | |
| 32 | Functions 3 - Function Values and Closures | 06:31 | |
| 33 | Functions 4 - Functions and Pointers | 02:34 | |
| 34 | Error Handling | 08:54 | |
| 35 | Error Inspection | 06:39 | |
| 36 | Packages and Libraries 1 - Using Third-Party Packages | 04:34 | |
| 37 | Packages and Libraries 2 - Creating Custom Packages | 05:37 | |
| 38 | Packages and Libraries 3 - Publish Your Package | 05:14 | |
| 39 | Packages and Libraries 4 - Sub-Packages | 03:16 | |
| 40 | Modules 1 - Definition | 02:06 | |
| 41 | Modules 2 - Creating a Module | 03:06 | |
| 42 | Modules 3 - Add Version Information | 02:34 | |
| 43 | Modules 4 - Using Modules | 06:01 | |
| 44 | Modules 5 - Local Development | 07:20 | |
| 45 | Modules 6 - Dependency Maintenance | 08:22 | |
| 46 | Modules 8 - How Go Selects a Module Version | 08:25 | |
| 47 | Exercise: Bank Account | 06:46 | |
| 48 | Intro to section 3 | 00:46 | |
| 49 | Arrays | 05:19 | |
| 50 | Slices | 06:38 | |
| 51 | Pass-By-Value Semantics seem to break! (Or do they?) | 02:20 | |
| 52 | Byte Slices and Strings | 03:42 | |
| 53 | Maps | 07:31 | |
| 54 | Type Declarations | 03:28 | |
| 55 | Type Aliases | 04:28 | |
| 56 | Struct Basics | 07:20 | |
| 57 | Struct embedding and anonymous fields | 03:09 | |
| 58 | Struct field tags and JSON | 02:38 | |
| 59 | Methods | 08:36 | |
| 60 | Method Sets | 02:46 | |
| 61 | Interfaces 1 - Representing Behavior | 07:44 | |
| 62 | Interfaces 2 - Interfaces as Parameters | 05:36 | |
| 63 | Interfaces 4 - Internals (and a gotcha) | 01:33 | |
| 64 | Generics 1 - Type Parameters | 05:36 | |
| 65 | Generics 2 - Type Constraints | 07:06 | |
| 66 | Generics 3 - Generic Interface Functions | 05:52 | |
| 67 | Exercise: write a Web service - part 1: the Web server | 03:29 | |
| 68 | Exercise: write a Web service - part 2: routing | 02:03 | |
| 69 | Exercise: write a Web service - part 3: handling requests | 03:13 | |
| 70 | Exercise: write a Web service - part 4: the data store | 05:38 | |
| 71 | Intro to section 4 | 01:09 | |
| 72 | Compiling with go run, go build, and go install | 04:38 | |
| 73 | Conditional compilation | 05:37 | |
| 74 | The Go Module Proxy and the Go Sum DB | 05:41 | |
| 75 | Configuring Proxy and Sum Servers | 05:15 | |
| 76 | Formatting your code with go fmt | 02:26 | |
| 77 | Testing with go test | 08:24 | |
| 78 | Testing - Good test design, and how to verify test coverage | 03:27 | |
| 79 | Testing - Subtests, parallel tests, and table-driven tests | 06:41 | |
| 80 | Testing - Fuzzing | 12:27 | |
| 81 | Testing - Benchmarking with go test | 04:31 | |
| 82 | Documentation - Create documentation from code | 03:29 | |
| 83 | Documentation - godoc and go doc | 02:46 | |
| 84 | Intro to section 5 | 00:32 | |
| 85 | Reflection | 09:52 |
Get instant access to all 84 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionWhat courses are similar to Master Go?
-
Updated 6mo agoThe Ultimate Guide to Debugging With Go
By: ByteSizeGo, Matt BoyleThe most important skill you were never taught. The ability to debug code locally and in production is critically important for any Go engineer.3h 41m -
Updated 2y agoLet's Build a Go version of Laravel
By: UdemyLaravel is one of the most popular web web application frameworks in the PHP world, and with good reason. It's easy to use, well designed, and lets developers w19h 22m -
Updated 9mo agoAI Engineering with Go
By: ByteSizeGoLearn to integrate AI with Go: create projects, enhance skills, and deploy AI apps. Includes LLM API, vector databases, and model interactions.11h 13m5/5 -
Updated 3y agogRPC [Golang] Master Class: Build Modern API & Microservices
By: UdemygRPC is a new and modern framework for building scalable, modern and fast API. It is leveraged by many top tech companies such as Google, Square &.3h 46m -
Updated 2y agoUltimate Service 3.0
By: Ardan LabsThis updated course teaches you how to build production-level services in Go, leveraging the power of Kubernetes.13h 33m5/5 -
Updated 4mo agoBeyond Effective Go: Part 2 - Striving for High-Quality Code
By: Corey ScottAn In-Depth Guide to Writing Quality Code in Go. Learn methods, principles, and patterns for developing high-performance and testable applications. -
Updated 2y agoMastering Multithreading Programming with Go (Golang)
By: UdemyLearn about Multithreading, Concurrency & Parallel programming with practical and fun examples in Google's Go Lang.5h 24m -
Updated 2y agoBuilding Production-Ready Services with gRPC and Go
By: ByteSizeGoThe course "Building Production-Ready Services with gRPC and Go" covers the development of high-performance services using gRPC and the Go language.11h 23m