30% OFF - Use code HANDSON30 for 30% off any course or Dometrain Pro! Browse courses →
  • Courses
  • Learning Paths
  • Blogs
  • Authors
  • Leaderboard
  • Dometrain Pro
  • Shopping Basket

    Your basket is empty

  • Business Portal
  • 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

    Getting Started: Model Context Protocol (MCP)
    course

    Getting Started: Model Context Protocol (MCP)

    Learn how to get started with the Model Context Protocol (MCP) and integrate it into your applications.

    Learn more about Getting Started: Model Context Protocol (MCP)
    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#