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 agoHow to design & develop REST microservices in Golang (Go)
By: UdemyLearn to design and develop REST microservices in Go. Master MVC, Domain Driven Development, and Hexagonal architecture with MySQL and Cassandra integrations.20h 26m
UpdatedWeb hook service application over SSH
By: Anthony GGBuild a terminal application and server in Go that generates webhook URLs and forwards traffic to your localhost over SSH.3h 16m0/5
UpdatedAdvanced Branching and Looping in GO
By: PluralsightMaster Go's for loops, if/else, and switch statements through real programs and business-focused mini-projects, not just syntax.1h 14m
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 2y agoWeb Development with Go v2 (Current Version)
By: useGolang (Jon Calhoun)Learn to build real, production-grade web applications from scratch. No trivial TODO apps that barely touch the complexity of a real app. No frameworks that hid40h 28m3/5
ClassicUltimate Go
By: Ardan LabsAdvanced course Ultimate Go developed for those, who want to concentrate on deep learning of language and to understand things that have sense and semanthic.16h 8m5/5
Updated 1y agoBlockchain from scratch with GRPC and Protobuffers
By: Anthony GGLearn the basics of blockchain from scratch by step-by-step creating your own system.4h 56m
UpdatedRefactoring With Bill
By: Ardan LabsWatch real Go refactoring sessions with detailed reasoning behind each decision, aimed at engineers with existing programming experience.7h 49m