Official Go blog post: Defer, Panic, and Recover.
Source code: runtime/panic.go on go.dev.
Examples: Defer, Panic, Recover on Go by Example.