Dev Skills
Go·Section 2 of 15 · 14 lessons · about 10 hours

Core language in Go (Golang)

Functions, errors as values, the two data structures you use all day, your own types, and tests.

  1. 01Functions, multiple returns, and errors
    There are no exceptions. An error is a value you return, and that changes everything.
    Graded challenge
  2. 02defer
    Cleanup you cannot forget, and the two traps that catch most people once.
  3. 03Arrays and slices
    The data structure you use all day, and the shared-memory trap inside it.
    Graded challenge
  4. 04Maps
    A hash table with two behaviours that surprise most people once.
    Graded challenge
  5. 05Strings, bytes, and runes
    Why `len("héllo")` is 6, and the string operations you will use every day.
    Graded challenge
  6. 06Pointers
    What `&` and `*` do, when you need them, and why Go pointers cannot hurt you the way C ones can.
  7. 07Structs
    How you make your own types by grouping values under one name.
    Graded challenge
  8. 08Methods, receivers, and embedding
    The rule about receivers that most beginners trip on.
    Graded challenge
  9. 09Interfaces
    Go’s main abstraction, satisfied without ever being declared.
    Graded challenge
  10. 10Type assertions and type switches
    Getting the concrete value back out of an interface, safely.
    Graded challenge
  11. 11Error values in depth
    Sentinels, custom types, wrapping, and handling each error once.
    Graded challenge
  12. 12Packages and visibility
    A folder is a package, and capitalisation is your access control.
  13. 13JSON
    Turning structs into JSON and back, and the field that disappears with no error.
    Graded challenge
  14. 14Testing
    Part of the toolchain, not a library you pick.