NEW - Hands-On: Data Structures & Algorithms in C# — Free to enroll for 7 days! Enroll now →

Hands-On: Learn Go

Learn Go from scratch by completing practical exercises and writing real Go code.

About This Course

Just reading about Go won't make you an expert. The real learning happens when you build real projects and solve practical problems. Our extensive Go course spans 17 hours and features interactive, hands-on exercises using Dometrain's advanced web Code Editor. You will start with the fundamentals of Go and progress to more advanced topics like concurrency, interfaces, and building production-ready services. No prior experience with Go is required; you just need a basic programming background. At Dometrain, we strive to help developers gain practical skills from the ground up. You can try this course for free for 14 days to see if it matches your learning style. Whether you want to learn Go for the first time or improve your current skills, this course will help you stay current with the latest Go best practices.

Course Curriculum

17h 4m 31 sections
Hello World
05:00
Printing Multiple Lines
05:00
Formatted Output with Printf
05:00
Comments
05:00
Printing Expressions
05:00
Chapter Capstone - Profile Card
05:00
Declaring Variables with var
05:00
Short Variable Declaration
05:00
Integer and Float Types
05:00
Strings
05:00
Booleans
05:00
Constants
05:00
Zero Values
05:00
Type Conversion
05:00
Iota and Enumerated Constants
05:00
Chapter Capstone - Unit Converter
05:00
Arithmetic Operators
05:00
Comparison Operators
05:00
Logical Operators
05:00
Compound Assignment and Increment
05:00
Bitwise Operators
05:00
Chapter Capstone - Digit Analyzer
05:00
If Statements
05:00
If-Else and Else-If Chains
05:00
If with Init Statement
05:00
Switch Statements
05:00
Expressionless Switch
05:00
Switch with Fallthrough
05:00
Chapter Capstone - FizzBuzz
05:00
String Length and Concatenation
05:00
String Formatting with Sprintf
05:00
Strings Package
05:00
String Splitting and Joining
05:00
Runes and Unicode
05:00
strings.Builder
05:00
Byte and Rune Conversions
05:00
The strconv Package
05:00
Chapter Capstone - Text Analyzer
05:00
Block Scope
05:00
Variable Shadowing
05:00
Short Declaration Scope Rules
05:00
Chapter Capstone - Scope Detective
05:00
Basic For Loop
05:00
For as a While Loop
05:00
Break and Continue
05:00
Nested Loops
05:00
Labeled Break and Continue
05:00
Chapter Capstone - Prime Checker
05:00
Declaring and Initializing Arrays
05:00
Array Indexing and Length
05:00
Iterating Arrays with For
05:00
Chapter Capstone - Array Reverser
05:00
Creating Slices
05:00
Slicing Syntax
05:00
Append
05:00
Length and Capacity
05:00
Make and Copy
05:00
Nil vs Empty Slices
05:00
Multi-Dimensional Slices
05:00
Chapter Capstone - Unique Elements
05:00
Creating and Accessing Maps
05:00
The Comma-Ok Idiom
05:00
Modifying and Deleting
05:00
Iterating Maps with Range
05:00
Maps of Slices
05:00
Chapter Capstone - Word Counter
05:00
Multiple Return Values
05:00
Named Return Values
05:00
Variadic Functions
05:00
The Blank Identifier
10:00
Chapter Capstone - Statistics Package
05:00
Functions as Values
10:00
Anonymous Functions
05:00
Closures
05:00
Functions as Parameters
05:00
Returning Functions
10:00
Chapter Capstone - Pipeline Builder
05:00
Basic Defer
10:00
Defer with Return Values
05:00
Defer LIFO Order
05:00
Defer in Loops
05:00
Chapter Capstone - Resource Tracker
05:00
Basic Recursion
05:00
Recursive String Processing
05:00
Recursive Data Processing
05:00
Fibonacci
05:00
Chapter Capstone - Power Function
05:00
Defining Structs
05:00
Struct Zero Values and Field Access
05:00
Struct Literals and Constructors
05:00
Nested Structs
10:00
Struct Comparison and Copying
05:00
Struct Tags
05:00
Chapter Capstone - Student Registry
05:00
Value Receiver Methods
05:00
Methods with Parameters
05:00
Multiple Methods on a Type
08:20
Methods on Non-Struct Types
05:00
Chapter Capstone - Bank Account
10:00
Struct Embedding
05:00
Promoted Methods
10:00
Multiple Embedding
05:00
Chapter Capstone - Vehicle System
10:00
Defining and Implementing Interfaces
10:00
Interface Values
10:00
Empty Interface
05:00
The Stringer Interface
05:00
Interface Composition
05:00
Chapter Capstone - Shape Calculator
10:00
Type Assertions
05:00
Type Switches
05:00
Type Assertions with Interfaces
05:00
Type Switch with Multiple Types
05:00
Chapter Capstone - Value Processor
10:00
Type Parameters
05:00
Type Constraints
05:00
Multiple Type Parameters
05:00
Chapter Capstone - Generic Filter
05:00
Generic Structs
05:00
Generic Interfaces
05:00
Chapter Capstone - Generic Collection
10:00
The Error Interface
05:00
Creating Errors
05:00
Error Handling Patterns
10:00
Ignoring Errors Safely
05:00
Chapter Capstone - Input Validator
08:20
Custom Error Types
07:40
Error Wrapping
05:00
Errors.Is and Errors.As
05:00
Sentinel Errors
05:00
Chapter Capstone - Error Chain Builder
10:00
Understanding Panic
05:00
Recover from Panic
10:00
Panic and Recover with Named Returns
05:00
Chapter Capstone - Resilient Processor
10:00
Pointer Declaration and Dereferencing
05:00
Pointers and Functions
05:00
Nil Pointers
05:00
The new Function
05:00
Chapter Capstone - Pointer Swap
05:00
Pointer Receivers
05:00
Pointer vs Value Receivers
05:00
Pointers to Structs
10:00
Slice and Map Internals
05:00
Chapter Capstone - Linked List Operations
10:00
Your First Goroutine
05:00
Multiple Goroutines
05:00
WaitGroup
10:00
Goroutine Closure Pitfall
10:00
Chapter Capstone - Parallel Map
12:00
Unbuffered Channels
05:00
Buffered Channels
05:00
Channel Direction
05:00
Range over Channels
05:00
Closing Channels and the ok Pattern
05:00
Chapter Capstone - Pipeline
10:00
Basic Select
05:00
Select with Default
05:00
Done Channel Pattern
05:00
Fan-Out Fan-In
10:00
Chapter Capstone - Merge Channels
10:00
Mutex
05:00
RWMutex
10:00
Once
05:00
Map Synchronization with sync.Map
05:00
Chapter Capstone - Thread-Safe Cache
12:00
Understanding Context
10:00
Context with Values
05:00
Context in Goroutines
10:00
Context Best Practices
10:00
Chapter Capstone - Concurrent Task Runner
10:00

Meet Your Instructor

Nick Chapsas

Nick Chapsas

Nick Chapsas is a .NET & C# content creator, educator and a Microsoft MVP for Developer Technologies with years of experience in Software Engineering and Engineering Management.

He has worked for some of the biggest companies in the world, building systems that served millions of users and tens of thousands of requests per second.

Nick creates free content on YouTube and is the host of the Keep Coding Podcast.

View all courses by Nick Chapsas

What's New

Hands-On: Learn TypeScript
course

Hands-On: Learn TypeScript

Learn TypeScript through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

Learn more about Hands-On: Learn TypeScript
Hands-On: Learn JavaScript
course

Hands-On: Learn JavaScript

Learn JavaScript through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

Learn more about Hands-On: Learn JavaScript
Hands-On: Data Structures & Algorithms in C#
course

Hands-On: Data Structures & Algorithms in C#

Master data structures and algorithms through hands-on coding exercises in C#. Free to enroll for 7 days!

Learn more about Hands-On: Data Structures & Algorithms in C#
Blogsmith.ai
feature

Blogsmith.ai

Turn your videos into blogs and newsletters with AI. Check out our new product at blogsmith.ai.

Learn more about Blogsmith.ai
Leaderboard
feature

Leaderboard

See how you stack up against other learners. Track your progress, climb the ranks, and compete with the Dometrain community.

Learn more about Leaderboard
Hands-On: Learn PostgreSQL
course

Hands-On: Learn PostgreSQL

Learn PostgreSQL through hands-on coding exercises. Practice what you learn with interactive challenges designed for every level.

Learn more about Hands-On: Learn PostgreSQL
Free Hands-On: C# for Beginners
course

Free Hands-On: C# for Beginners

Learn C# through hands-on coding exercises. Practice what you learn with interactive challenges designed for everyone, from beginners to experts.

Learn more about Free Hands-On: C# for Beginners
Getting Started: AI for .NET Developers
course

Getting Started: AI for .NET Developers

Get started with integrating AI into your .NET applications effectively using the latest LLM best practices.

Learn more about Getting Started: AI for .NET Developers
Getting Started: Building .NET Applications on AWS
course

Getting Started: Building .NET Applications on AWS

Learn how to build and deploy .NET applications on AWS using CDK, Lambda, DynamoDB, S3, and more.

Learn more about Getting Started: Building .NET Applications on AWS
What's new in C# 14
blog

What's new in C# 14

This guide covers every new C# 14 feature, explains its benefits, and provides practical code examples to help you navigate how you can use them.

Learn more about What's new in C# 14
Let's Build It: AI Chatbot with RAG in .NET Using Your Data
course

Let's Build It: AI Chatbot with RAG in .NET Using Your Data

Build a Retrieval-Augmented Generation (RAG) chatbot that can answer questions using your data.

Learn more about Let's Build It: AI Chatbot with RAG in .NET Using Your Data
From Zero to Hero: SignalR in .NET
course

From Zero to Hero: SignalR in .NET

Enable enterprise-grade real-time communication for your web apps with SignalR.

Learn more about From Zero to Hero: SignalR in .NET
Deep Dive: Solution Architecture
course

Deep Dive: Solution Architecture

Master solution architecture and turn business needs into scalable, maintainable systems.

Learn more about Deep Dive: Solution Architecture
Migrating: ASP.NET Web APIs to ASP.NET Core
course

Migrating: ASP.NET Web APIs to ASP.NET Core

A step-by-step process to migrate ASP.NET Web APIs from .NET Framework to ASP.NET Core.

Learn more about Migrating: ASP.NET Web APIs to ASP.NET Core
Getting Started: Caching in .NET
course

Getting Started: Caching in .NET

Let's make the hardest thing in programming easy for .NET software engineers.

Learn more about Getting Started: Caching in .NET
From Zero to Hero: Testing with xUnit in C#
course

From Zero to Hero: Testing with xUnit in C#

Learn how to test any codebase in .NET with the latest version of xUnit, the industry-standard testing library.

Learn more about From Zero to Hero: Testing with xUnit in C#
Create a ChatGPT Console AI Chatbot in C#
blog

Create a ChatGPT Console AI Chatbot in C#

This walkthrough is your hands-on entry point to create a basic C# console application that talks to ChatGPT using the OpenAI API.

Learn more about Create a ChatGPT Console AI Chatbot in C#