Curriculum · Ledger
Level
1
Total XP
0
Streak
0d
Badges
0
Next level
0/50
Volume I

Foundations

Your first steps with Go: syntax, types, and control flow.

0/6 lessons · boss pending
Volume II

Structuring Data

Slices, maps, structs, embedding, and pointers.

Locked · beat Vol I
  1. 01
    Arrays & Slices

    Slices are Go's growable view over an array.

  2. 02
    Maps

    Key/value stores with the comma-ok lookup.

  3. 03
    Structs & Methods

    Composite types with attached methods and receivers.

  4. 04
    Embedding & Composition

    Go composes types by embedding, not by inheritance.

  5. 05
    Pointers

    Share and mutate with & and *.

  6. 06
    Defer

    Defer runs at function exit, in LIFO order.

  7. 07
    Strings & Runes

    Go strings are UTF-8 bytes; iterate with runes for characters.

  8. Boss trial
    Boss: Inventory Ledger
Volume III

Interfaces & Errors

Polymorphism the Go way — plus idiomatic error handling.

Locked · beat Vol II
  1. 01
    Interfaces

    Structural typing: implement the methods, satisfy the interface.

  2. 02
    Errors

    Errors are values you return, check, wrap, and inspect.

  3. 03
    Type Assertions & Type Switch

    Extract a concrete type — and avoid the typed-nil trap.

  4. 04
    Generics

    Type parameters, added in Go 1.18.

  5. 05
    Panic & Recover

    Unrecoverable errors, and the escape hatch that stops them.

  6. Boss trial
    Boss: Shape Kingdom
Volume IV

Concurrency

Goroutines, channels, select — the Go superpower.

Locked · beat Vol III
  1. 01
    Goroutines

    Prefix a call with `go` to run it concurrently.

  2. 02
    Channels

    Typed pipes that carry values between goroutines.

  3. 03
    Select

    Wait on several channel operations at once.

  4. 04
    WaitGroup & Mutex

    Wait for goroutines to finish; guard shared state.

  5. 05
    sync.Once

    Guarantee one-time initialization across goroutines.

  6. Boss trial
    Boss: The Worker Pool
Volume V

Real-World Go

Modules, HTTP, JSON, context, and testing.

Locked · beat Vol IV
  1. 01
    JSON

    Encode and decode with struct tags.

  2. 02
    HTTP Handlers

    net/http gives you a real server in a handful of lines.

  3. 03
    Modules

    Every project is a module tracked by go.mod.

  4. 04
    Context

    Cancel, time out, and carry request-scoped values.

  5. 05
    Testing with go test

    Files ending in _test.go and functions named TestXxx — exactly the harness you have been using.

  6. Boss trial
    Boss: Ship It