courses / go

learn go

Three levels, from never written code to writing it like a professional. Simple, fast and built for the cloud.

write go like a professional.

For people who build things on their own and want code that others trust and can change.

1 unit 1 Many things at once Run work side by side, then wait for every piece to finish. 0 of 4 · 47 min
  1. A goroutine runs alongside10 min
  2. Many goroutines, one wait12 min
  3. The loop variable trap12 min
  4. When one goroutine panics13 min
2 unit 2 Channels Pass values safely between goroutines, and know when they have all arrived. 0 of 4 · 46 min
  1. A channel hands values over11 min
  2. Buffered channels11 min
  3. Closing and ranging12 min
  4. Channel directions12 min
3 unit 3 Waiting on many things Listen to several channels at once, never wait too long, and stop on a signal. 0 of 4 · 47 min
  1. select waits on many12 min
  2. Never wait11 min
  3. Timeouts12 min
  4. A done channel12 min
4 unit 4 Sharing safely Keep shared data correct when many goroutines touch it at once. 0 of 4 · 49 min
  1. Data races13 min
  2. Mutex12 min
  3. Atomic counters11 min
  4. Share by communicating13 min
5 unit 5 Concurrency patterns Use the proven shapes: worker pools, pipelines, fan-out and fan-in. 0 of 4 · 49 min
  1. Worker pools12 min
  2. Pipelines12 min
  3. Fan out, fan in13 min
  4. Errors from workers12 min
6 unit 6 Stopping on time Cancel work, set deadlines and make sure every goroutine finishes. 0 of 4 · 50 min
  1. Context and cancelling12 min
  2. Deadlines and timeouts12 min
  3. Stop without leaking13 min
  4. Context in a web handler13 min
7 unit 7 Code like a professional Test, measure and shape your code the way experienced Go developers do. 0 of 4 · 51 min
  1. Table-driven tests12 min
  2. Benchmarks and profiling14 min
  3. Embedding12 min
  4. Functional options13 min
end of level 3 level check Build one small project with everything from this level. Pass it and your face levels up. see the check