Foundations

Learn Go from first principles โ€” types, concurrency, interfaces, and a complete CLI capstone.

circle-info

Prerequisites: Basic programming knowledge (any language). No Go experience required.


Lab Overview

#
Lab
Key Concepts
Time

01

Variables, types, constants, iota, control flow

20 min

02

Multiple returns, variadic, closures, defer, panic/recover

25 min

03

Slice internals, append, copy, map patterns, generic set

30 min

04

Value/pointer receivers, embedding, constructors

30 min

05

Implicit satisfaction, type assertions, type switches

30 min

06

Address-of, dereference, nil safety, linked lists

25 min

07

WaitGroup, buffered/unbuffered channels, select, worker pool

35 min

08

Custom errors, errors.Is/As, wrapping, retry

30 min

09

os, strings, strconv, time, math, sort, log

30 min

10

bufio, os.ReadFile, encoding/json, CSV, streaming

30 min

11

http.Client, ServeMux, middleware, httptest

35 min

12

testing.T, table-driven tests, benchmarks, httptest

30 min

13

WithCancel, WithTimeout, values, graceful shutdown

30 min

14

Type parameters, constraints, ~, generic data structures

30 min

15

Full CLI: JSON store, stats, concurrent fetch, context

60 min

Total estimated time: ~8 hours



Docker Quick Start

Last updated