Tier 2 — Go Intermediate

12 lesson: interface, error, IO, JSON, testing, goroutine, channel, sync, context.

Tier này dạy gì?

Sau khi nắm syntax Go ở Tier 1, Tier 2 đi vào những thứ khiến Go là Go: interface implicit, error là value, goroutine và channel, context. Cũng chuẩn hoá kỹ năng làm việc: packages/modules, file I/O, JSON, regex, time, testing.

Tiền đề: đã xong Tier 1, đã viết được mini-project CLI todo.

12 lesson trong Tier 2
Lesson 18
Implicit satisfaction, empty interface, type assertion, type switch, common stdlib interface.
Lesson 19
error là value, sentinel error, errors.Is/As, wrap, panic/recover.
Lesson 20
Internal package, semver, replace, vendoring, private module.
Lesson 21
io.Reader/Writer, bufio, io.Copy, pipe.
Lesson 22
os.Open, walk dir, permission, atomic file write.
Lesson 23
Marshal/Unmarshal, tag, custom Marshaler, streaming decoder.
Lesson 24
regexp package, parsing, tokenizing.
Lesson 25
time.Time, parse/format, timezone, ticker, common pitfall.
Lesson 26
testing.T, table-driven, subtests, coverage, testify.
Lesson 27
go, unbuffered/buffered channel, close, range channel, deadlock.
Lesson 28
sync.Mutex/RWMutex/WaitGroup/Once, atomic, race detector.
Lesson 29
context.Background, cancel, timeout, deadline, value (chống lạm dụng).