My name is Elliot 👋, and my goal for TutorialEdge is to build an online resource that helps to accelerate the learning path for new Go developers.
My courses attempt to bridge the gap between learning the fundamentals of Go, and being able to build production-ready applications in Go.
Gain access to over 19 hours of premium Go content and track your progress over time.
TutorialEdge is committed to helping the environment. We are a carbon negative site, and supporting us actively removes carbon from the atmosphere. How cool is that?!
Education should be affordable to everyone. We keep our prices low so that everyone no matter their means can afford access to education.
A helpful guide on the commands you'll need to split code changes into multiple commits
Mastering the art of creating pull requests takes years, this article contains some tips and tricks that can help you supercharge your Pull Requests.
This tip goes in-depth into how you can optimize your developer productivity by aliasing your git commands.
In this tutorial, we are going to cover everything you need when it comes to working with JSON in Go.
In this tutorial, we'll be exploring the new range-over-func syntax introduced in Go 1.23 and how to use iterators in your Go applications.
In this tutorial, we'll be discussing one of my favorite patterns and how you can use it to supercharge your Go app dev.
In this tutorial, we'll be looking at how we can join errors together in Go using the errors.Join method!
In this tutorial, we'll be covering how you can simplify and improve your tests in Go using the TestMain function.
In this tutorial, we're going to be looking at how we can improve our test output readability using the inbuilt helper methods in the testing package!
In this tutorial, we are going to look at how you can use t.Cleanup() to properly manage test teardown and resource cleanup in your Go test suites.
In this tutorial, we're going to be discussing how you can build clean functions in Go.
In this lesson, we'll be looking at how you can improve the efficiency of your Go applications using profile guided optimizations
The TutorialEdge privacy policy
In this code snippet, we are going to look at how variadic functions in Go work!
In this code snippet, we are going to be looking at how we can handle panics within our Go applications.
In this snippet, we are going to look at how we can generate UUIDs in Go, using the satori/go.uuid package
In this snippet, we are going to look at how we can embed lua scripts into our Go applications using the Shopify/go-lua package.
In this tutorial, we are going to look at how we can retry http requests in go using the retry-go package.
Everything you need
TutorialEdge gives you the courses, community, and hands-on practice to build real Go applications with confidence — not just toy examples.
20+ hours of content
Structured learning paths that take you from Go fundamentals to production-grade APIs, microservices, and cloud deployments.
No setup required
Write and run real Go code directly in your browser. Learn by doing, not just reading — every lesson has hands-on exercises baked in.
Community support
Get unstuck fast. Ask questions, share what you're building, and learn alongside hundreds of other Go developers at every level.
From experienced developers
Submit your Go projects and get actionable feedback. Understand exactly what separates working code from code that's ready for production.
Join the TutorialEdge clan
Get unlimited access to all courses, interactive lessons, and the community — for less than a coffee a week.
30+
Hours of content
2,300+
Active students
100+
Free tutorials
13,000+
Trees planted 🌱
Pricing
Monthly
$12.99
per month
Yearly
$129.99
save 17%