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 2y agoBuild Your Own Database in Go From Scratch
By: James SmithStudy databases from scratch by creating your own, step by step and with simple code in Go (language-neutral). Atomicity and durability. -
Updated 1y agoGo in Practice, Second Edition
By: Matt Butcher, Matt Farina, Nathan Kozyra"Go in Practice: Second Edition" is a collection of recipes containing techniques and best practices for creating industrial-grade applications in Go. -
FreeUpdated 3y agoArdan Labs Live Bytes (Ultimate Go Syntax LIVE)
By: Ardan LabsRecording of live translation Ultimate Go Syntax LIVE (March 2020 year) using Zoom.1h 48m -
Updated 2y agoBuilding Modern Web Applications with Go (Golang)
By: UdemyLearn to write modern, fast, and secure web applications in Google's Go programming language, and learn it from an award winning University professor.29h 6m -
Updated 2y agoUltimate Go: Software Design with Kubernetes
By: Ardan LabsThis course teaches you how to build production-level services in Go, leveraging the power of a Domain Driven, Data Oriented Archiecture deployed in Kubernetes.18h 2m