karnstack
go foundations
33 lessons · ~14 hours
getting to hello
0
/3
why go, why now: a 2007 language built for the ai era
12m
the toolchain tour: installing go with mise, run, build, fmt, vet
8m
your first program: compile it, run it, see what happened
13m
Module quiz
getting to hello
the building blocks
0
/7
values, variables, constants, and zero values
15m
control flow: for is the only loop you get
17m
functions: multiple returns, closures, and defer
19m
pointers without fear
17m
strings, runes, bytes, and formatted output
19m
slices, and how they really work
26m
maps, structs, and modeling your first feed item
24m
Module quiz
the building blocks
talking to the world
0
/4
errors are values: returning, wrapping, sentinel vs typed
34m
files and cleanup: defer in the real world
23m
io.Reader and io.Writer: the composable core
28m
calling a rest api: net/http and decoding json
25m
Module quiz
talking to the world
modeling with types
0
/5
methods, and value vs pointer receivers
21m
interfaces: behavior over inheritance
29m
embedding and composition: how go reuses code
20m
any, type assertions, and type switches
25m
generics: type parameters, constraints, and iterators
33m
Module quiz
modeling with types
doing many things at once
0
/6
goroutines and the scheduler
32m
channels: send, receive, range, close
32m
fan-out and fan-in: fetch every source at once
36m
select, timeouts, and cancellation with context
46m
sharing state safely: the sync package
31m
putting it together: the concurrent aggregator
22m
Module quiz
doing many things at once
shipping it
0
/8
panic and recover: at the boundary, never as control flow
29m
table-driven tests and benchmarks
37m
fuzzing the feed parser
22m
go mod deep dive: sub-packages and project structure
30m
writing the http server
36m
testing http handlers
26m
logging, metrics, and configuration
31m
where to go next
10m
Module quiz
shipping it
certificate
support
feedback
Toggle Sidebar
go foundations
doing many things at once: module quiz
Jump to…
K
sign in
Command Palette
Search for a command to run...