1. Learn How To Code: Google's Go (golang) Programming Language
By Todd McLeod
This course is no longer available on Udemy. But, you can find it here
This is an excellent course to get started programming in go.
Todd is a great teacher and he was one of the first professors to start teaching Go at the university level.
He takes you through a comprehensive tutorial in how to set up your development environment, then starts you out with the basics of declaring variables, control flow and functions before diving into more complex topics such as concurrency, channels, and testing.
This course has plenty of hands on exercises which Todd says will help you become a "ninja" golang programmer!
Overall this is a great beginner course, and it's the one I first started watching when I decided to learn golang. I would highly recommend starting with this course.
2. Go: The Complete Developers Guide
By Stephan Grider
Stephan's course is another excellent beginner go programming course.
He starts you off by settting up your environment, then goes on to do a simple hello world example.
In section 3 Stephan teaches you all the basics while building a card game in Go, which is great for people who learn by best doing.
Stephan is a great teacher and all his courses are top notch quality.
3. Web Development w/ Google's Go (golang) Programming Language
By Todd McLeod This class is no longer available on Udemy. But, you can find it here
A next step after watching one of the above courses would be to move onto this course. This course assumes you already know some basic go.
It's a great primer into how to use golang for web development. Todd once again knocks it out of the park with this course.
Todd starts off by showing you how to implement your own TCP web server. Then you dive into the net/http package where you learn how to create a fully functional http server and write handler methods.
After that he gets into routing, serving files, deploying your site and even a little bit of Docker.
There is a Photo Blog project near the end that helps cement the concepts learned in the earlier lessons.
This is a fantastic course to learn how to apply your go programming skills to build a web site/server.
4. Exploring The Go (golang) Programming Language
By Todd McLeod
This course is no longer available on Udemy. But, you can find it here
This course is aimed at intermediate to advanced go programmers. You should have a solid understanding of the basics before diving into this course.
Software architecture, interfaces, context, and errors are the main focuses of this course.
Todd teaches this course with a former student of his named Daniel Hoffman. Daniel programs in Go at work which adds a great perspective of how Go is used in a production environment.
5. Go (Golang): The Complete Bootcamp
By Jose Portilla and Inanc Gumus
This is another great course to put the icing on your golang learning cake. Jose and Inanc dive into encoding and decoding json, memory allocation, and maps.
They then use a few fun projects such as a retro led clock, console animations and a dictionary program to help cement these concepts into your head.
This is a great course to take in order to see how go can be used in small projects.
Conclusion And Next Steps
After watching a few of these beginner courses and practicng with Go for a few months, I would suggest checking out some courses from Ardan Labs
You hear Todd McLeod mention Bill Kennedy in some of his videos and for good reason. Bill is one of the best Go instructors around and regularly teaches courses to hundreds of professional developers. He covers Go language mechanics, garbage collection, memory allocation, concurrency and much more.
If you want to check out Ardan Labs content before purchasing the full courses you can watch their full Ultimate Go Programming course by signing up for a free trial on O'Reilly. I would highly suggest doing this, to get a taste for the content, but to get access to the most up to date content you still need to purchase the course directly from Ardan Labs.
I hope you found some of these resources helpful and good luck with learning Go!