Knaph

Programming

Map

Arrows point from what you learn first to what it opens.

  • Proven to level123
  • Open
  • Locked
  • Comes back deeper
Level 2Level 2Basic typesChannelsConditionalsFunctions in codeGoroutinesLoopsPointersRecursionVariables in codeThreadIn Operating Systems

Learning path

In the order the concepts build on each other.

  1. Variables in codeReadyNamed places that hold a value your program can read and change.
  2. Basic typesLockedThe kinds of values a language has built in - integers, floating-point numbers, booleans, strings - and what you can do with each.Opens after: Variables in code
  3. Functions in codeLockedNamed, reusable blocks of code that take inputs (parameters) and produce outputs (return values).Opens after: Variables in code
  4. ConditionalsLockedCode that runs only when a condition is true - if, else, switch - letting a program make decisions.Opens after: Basic types
  5. GoroutinesLockedGo's lightweight concurrent functions - started with the go keyword and multiplexed by the Go runtime onto OS threads.Opens after: Functions in code, Thread
  6. PointersLockedValues that hold the memory address of another value, letting code refer to and modify that value indirectly.Opens after: Variables in code, Functions in code
  7. ChannelsLockedTyped pipes that goroutines use to send values to each other - and to synchronize while doing it.Opens after: Goroutines
  8. LoopsLockedRepeating a block of code - a fixed number of times, while a condition holds, or over each element of a collection.Opens after: Conditionals
  9. RecursionLockedA function that solves a problem by calling itself on a smaller version of the same problem, until it reaches a base case.Opens after: Functions in code, Conditionals

Connections to other domains