Impossible Go!
summary
A sequence of concrete Go surprises: a slice shares memory with its array until an append crosses slice reallocation after capacity exceeded and silently copies; struct equality compares fields but ignores blank struct fields ignored in comparison; maps iterate in randomized order so iteration order is not a valid contract; slices, maps and funcs are not comparable with ==; functional options use variadic functions returning functions to set defaults; custom UnmarshalJSON chooses concrete types for interface fields; eight CPU-bound goroutines can deadlock the program on an 8-core machine.
AI-written summary · about
chapters (34)
- 0:00Introduction
- 0:30Overview
- 1:57Disclaimers
- 2:40Are we ready
- 3:16Simple shit
- 5:00Slice
- 6:25Detox
- 7:14Confessions
- 8:22Passion
- 10:14Compilation Error
- 11:14Comparison
- 12:25Tshirt
- 14:22The magic code
- 15:26TrueFalse
- 16:06Compile Error
- 16:25Type Checks
- 17:46No Money
- 19:34Customers Let You Down
- 21:55Responsibility
- 23:22Back to Business
- 23:46Programming Ethics
- 25:56Overload
- 27:15Data Types
- 31:21Code
- 32:08Functional Options
- 32:58Default Parameters
- 35:06Explanation
- 36:06Coding
- 38:51Unmarshal
- 40:14OpenID
- 40:43Main Function
- 42:14Go routines
- 42:41Winel player
- 43:29Retire by 40








