Master Go

The essential Go course for developers

You are a developer.
You know how to code.
Now you want to learn Go.

This course is for you.

Learn more.

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.

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.

How you will benefit from this course

Fast learning at your preferred pace.

Your time is valuable and I don't want to waste it. In plenty of short, concise, no-bloat lectures, you can learn in your preferred pace, at convenient times, in your favorite ambience.

The video lectures rarely exceed five minutes and often are much shorter than that. However, be prepared to give each video your full attention, as you'll get much content in a short time. No worries, you can always watch a video again if needed. That's the beauty of short videos!

Plus, every lecture comes with a full transcript of the video for easy recap.

This course covers the details.

Fast learning does not mean superficial. In every lecture, I strive to work out every aspect of the topic. Where applicable, I provide tips for optimal use of a language feature, and I point out possible language pitfalls. I included quizzes to consolidate your knowledge. I created hands-on exercises so you can turn your knowledge into skills.
My definite goal is that when you finish this course, you'll have all knowledge and skills needed for getting productive with Go.

This course remains valuable even after you finished it.

The short and focused video lectures make excellent reference material. Need to refresh some particular knowledge? Just a matter of minutes.
You also benefit from all updates that this course will receive, as I strive to keep it current and make it even better.

Top Reasons for Learning Go

Still undecided about whether Go is for you?

Being pushed by your boss to learn Go? Reluctantly following team pressure?

Here are some great reasons why you'll love Go.

  • Go is a simple language with a clear, concise specification. No convoluted, 400-pages language specification that only super-geniuses can understand.
  • Go is easy to read. Partly due to the clear syntax, partly due to strict, tools-enforced formatting rules, the code of your teammates is no longer a puzzle for you.
  • Go boosts your productivity. Automatic memory management, a simple type system, fast write-compile-test cycles, built-in testing, built-in document generation, and more thoughtfully included features (as well as thoughtfully omitted features) enable you to build libraries and applications in a short time.
  • Go is at home at your server OS. Go's unique cross-compiling abilities let you develop on Windows and deploy to Linux. Or vice versa. Pure Go code compiles to single binaries with no external dependencies.
  • Go makes concurrency a breeze. Well, almost. Concurrency is never easy. However, Go's intrinsic support for concurrency is unparalleled and removes unnecessary complexity from concurrent programming.

What you get from this course

Every new programming language comes with a learning curve. Programming languages are inherently complex, even when deliberately designed with simplicity in mind.

This course introduces all of the fundamental aspects of the language, step by step.

Learn about functions, variables, data types, interfaces, the Go toolchain, goroutines, testing, error handling, reflection, and more.

Each lecture focuses on one specific topic, so you'll be able to understand all aspects of it before moving to the next one. Videos guide you through new knowledge, and quizzes and exercises help you strengthening your skills.

What do others say about the course?

"Having bought online training on Go from Udemy, Pluralsight and LinkedIn Learning I think I have a good understanding of what is available and the quality of the training offered. The bad news is that the quality varies widely. The good news is that this training from is one of the best Go tutorials out there. Here’s why…

The content has been carefully selected to ensure you get everything you do need to become useful quickly and none of the stuff you don’t. The learning is delivered in a crystal clear manner with first rate visuals, code examples and super useful ‘take-away’ points. This style really works well for me as I felt I was getting what I needed quickly and effortlessly. All the way through the lectures Christoph’s voice is re-assuring, calm and very easy on the ear.

One thing that really stands out are the many graphics used to highlight code fragments which then illustrate relationships which otherwise I had struggled to understand. This is a very powerful learning technique; other trainers should take note.

Overall, I unhesitatingly recommend this training to anyone wishing to get up to speed quickly and effectively with the Go programming language. I know of no better way to accelerate your journey into the wonderful world of Go programming."

- Stuart Henderson

"Thanks for this amazing tutorial. It’s by far among the top three tutorials in golang. I have watched everything so, I know what I am talking about."

- Georges Mantzos

"A significant course feature is the extensive and detailed instructions for Go installation and code writing.

I consider you to be one of the best teachers I have encountered in my quest to learn a computer language."

- John Hyatt

"This is probably the most well-designed course for a programming language I've ever seen on the internet! The video quality is top-notch and Christoph has a great teaching style. The transcripts are also well organized with code snippets. In addition, Christoph also provides useful links, quizzes, and discussion for students to stay engaged. Christoph puts a lot of efforts into this course and it's worth every penny!"

- Nahua Kang

Nahua also summarized his experience with the Master Go course in this detailed review. Thank you for this great feedback Nahua!


Want to have a peek inside?

Check out the complete curriculum below. Some of the lectures are available as preview. Everyone loves a different teaching style, and I want to ensure that you know what you will get.

Class Curriculum

  Section 2 - Language Basics
Available in days
days after you enroll
Available in days
days after you enroll

With all these benefits...

✓ A complete, self-contained, self-paced course for learning Go
✓ Lifetime access
✓ Risk free: 30-day money back guarantee
✓ HD video lectures
✓ Full transcripts
✓ Subject knowledge quizzes
✓ Hands-on practices and exercises
✓ All source code for download
✓ Get help via the comments section

Master Go should cost...


Seriously, this is what a classroom training of that size could easily cost per student. Master Go is as valuable...

...but in fact it costs only...


Yes, that's it. Just $149. I want to keep the course affordable because I want as many developers to succeed with learning and mastering Go.

Now you might say, ok, but a classroom training has to be more expensive because the instructor spends time with the students. Did you calculate what a big hourly wage this would be, given a class of 10 or even 20 students? The point is that for both a classroom training and an online course, the bulk of the work goes into creating the course. Even more so for the online course that includes recordings and screencasts. This work usually takes months for a high-quality course like Master Go. Still, Master Go is so much more affordable than a classroom training.
Let me share two cites on classroom versus online training:

"In 2015, over 70% of academic leaders surveyed by the Babson Survey Research Group expressed that the learning outcomes of online education are as good or better than face-to-face education."


"According to a report by the US Department of Education, 'learning outcomes for students who engaged in online learning exceeded those of students receiving face-to-face instruction.'"

And I think there are a few simple reasons for this.

  • With an online course, you have control when and where to watch a lesson or do an exercise. No need to show up at a certain time and sit for hours. Result: You are more focused and engaged.
  • You can rewind the video and watch a particular section (or all of it) again, as often as you like. Try this with a professor!
  • Support by the instructor may actually be better in an online course. Why? In a classroom, the instructor has to answer a question on the spot, right out of their head, with the material that is available. Due to the asynchronous nature of online chats, the instructor of an online course can provide more elaborate answers with more options for referring to relevant material.

"Speaking of price...

...why shouldn't I just hop over to one of these deep discount platforms and get me a course for $10?"

Granted, there are courses out there that sell for the price of a pizza Margherita. Why this large difference? Well, this course is the result from a lot of effort in order to explain abstract, and often difficult, topics in a clear, intuitive, and concise way.

Also, I am always here to answer questions. Simply post a comment on a lecture, or send me an email, and I'll ensure to provide you with any help you need.

And last not least, I continue to work on this course to make it better and to keep it up to date. With a minimal budget, this would simply not be possible.

Keep this in mind when comparing prices - usually, you get what you pay for.

Tip: you will get the most out of the course if you...

  • ...have attended a CS course and/or have solid hands-on experience with another programming language.
  • ...know how to work with a shell or command prompt (for example, navigating around, starting programs, working with files)
  • ...know the things a developer needs to know about the operating system you are using (for example, how to set environment variables)
  • ...know basic data structures and programming constructs (not tied to a particular programming language): arrays, stacks, lists, functions, loops, if, switch, etc.
  • ...have an idea about processes, threads, and what happens when a program executes.

Your Instructor

Christoph Berger
Christoph Berger
Hi, I am Christoph.

I started programming at the age of 13, when computers still had 8-bit processors. I always had a genuine interest in programming languages, powered by the belief that picking the right language does matter if you want to be productive and generate fast, robust, and maintainable code.

For many years I worked as a Technical Support Engineer, and this is where I learned how to explain complex technical things in a way that is easy to understand, yet does not leave anything important out.

In 2011, an article about (pre-1.0) Go in an IT magazine caught my attention, and since them I am hooked.

I love this language for being simple and effective at the same time, boosting programmer productivity by focusing on the language features that matter.

I write about Go since 2016, through my well-received blog "Applied Go". With my online courses I want to go one step further and help everyone becoming fluent with one of the coolest and most pragmatic languages around.

Frequently Asked Questions

When does the course start and finish?
The course starts whenever you want and has no deadlines! It is a completely self-paced online course - you decide when you start and how fast you move through the lectures.
How long do I have access to the course?
After enrolling, you have unlimited access to this course without a specific end date. That is, as long as either I or my wonderful course hosting platform Teachable are around (and we both plan to be around for a very long time), you have access to the course. Occasionally I may add new lectures or update existing ones, so you will benefit from the course even after finishing.
What if I am unhappy with the course?
I would never want you to be unhappy! If you are unsatisfied with your purchase, contact me in the first 30 days and I will give you a full refund.
Can I get feedback from the instructor?
Absolutely! If you have a question or a remark on a lecture, leave a comment in the comment field at the end of that lecture, and I'll follow up as soon as I can. For general questions, you can also ping me via email.
What skills do I need for this course?
You should already be familiar with another programming language like C++, Java, Ruby, Python, JavaScript, etc., and you should be familiar with using command-line tools. You do not have to have worked with statically typed languages before; the course covers the differences between Go and dynamically typed languages like Python or JavaScript. However, this course does not teach programming in general; this would require an entirely different approach.
Are there any technical requirements?
For the course itself, you need a sufficiently modern browser to view the lectures. Tip: Try one of the free preview lectures to verify if the course works in your browser. For the exercises you need a computer on which you can install Go. (The course covers installing Go on Linux, macOS, and Windows.) You may also use an online IDE's for this course if you want, but keep in mind that at some point you will need to install Go locally in order to learn how to use the Go toolchain on the command line.
My question is not listed here
No problem at all! Send me an email at [email protected], I'll be happy to answer any question you have about the course!

Master Go for your team

Special pricing is available for teams. Your next project includes Go? Your team needs to broaden their skills? No problem at all. Simply email me at [email protected] to get a quote.

Sure, you'll have to invest some work to get proficient with Go. But still, with this course you'll be up to speed much faster than by putting all the info pieces together that you find across the Web.

For this course, I collected large amounts of material from all over the Go world and distilled this information into this course. Besides documented usage, I also point out and explain language gotchas that otherwise might catch you by surprise.

Do you feel uncomfortable with having to learn another language? Don't. After this course, Go will feel familiar to you.

Let Go become your favorite programming language!

Get started now!

Visitors from the European Union please note:

VAT will be added on checkout. When you buy my course, your financial counterparty is Teachable, Inc., my fabulous platform provider. Non-EU companies are not obliged to include EU VAT when displaying prices. Besides this, without knowing where you come from, it is obviously next to impossible to include your country's VAT into the price. (And no, a geolocation service does not help as the results are not reliable.)

During checkout, you will be asked to select your country of residence, and the appropriate VAT amount will then be added to the price.

Thank you for your understanding.