Go Tutorial

Learn Go 1.27 step by step, from your first program to goroutines, generics, testing and a REST API.

21 free lessons Beginner to Advanced Covers Go 1.27

Start the first lesson

Getting Started

  1. 1Go Introduction
  2. 2Install Go & Set Up VS Code
  3. 3Your First Go Program
  4. 4Modules & Packages
  5. 5The go Command

Basics

  1. 6Variables & Constants
  2. 7Data Types & Conversion
  3. 8Operators
  4. 9Printing & Formatting with fmt

Control Flow

  1. 10if & switch
  2. 11for Loops & range

Functions & Errors

  1. 12Functions & Multiple Returns
  2. 13Errors: Wrapping, Is & As

Collections & Strings

  1. 14Arrays & Slices
  2. 15Maps
  3. 16Strings, Bytes & Runes

Types & Methods

  1. 17Pointers
  2. 18Structs & Methods
  3. 19Interfaces
  4. 20Generics
  5. 21Range-over-func Iterators

Concurrency

  1. 22Goroutines & WaitGroup (coming soon)
  2. 23Channels (coming soon)
  3. 24select & Timeouts (coming soon)
  4. 25The sync Package (coming soon)
  5. 26context: Cancellation & Deadlines (coming soon)

Standard Library & Testing

  1. 27Standard Library: os, io & time (coming soon)
  2. 28JSON with encoding/json (coming soon)
  3. 29Testing, Benchmarks & Fuzzing (coming soon)

Web & Project

  1. 30net/http & a REST API (coming soon)
  2. 31Old vs New Go (coming soon)
  3. 32Project: URL Shortener API (coming soon)

Learn Go with a mentor

Free lessons get you started. Our Programming & Software Development training adds real projects and code reviews from working developers.

  • Project-based learning
  • Mentor code reviews
  • Free counselling call