Defer / Defer in depth / Essential Go

Run Settings
LanguageGo
Language Version
Run Command
package main import "fmt" func logNum(i int) { fmt.Printf("Num %d\n", i) } func main() { defer logNum(1) fmt.Println("First main statement") defer logNum(2) defer logNum(3) panic("panic occurred") fmt.Println("Last main statement") // not printed // not deferred since execution flow never reaches this line defer logNum(4) }
Editor Settings
Theme
Key bindings
Full width
Lines