From 8a6928e2cebcd72a9de9b046a5bdfd55069ab2d2 Mon Sep 17 00:00:00 2001 From: Mark McGranaghan <mmcgrana@gmail.com> Date: Sun, 16 Sep 2012 14:21:14 -0700 Subject: [PATCH] more --- 25-defer.go | 16 ++++++++++++++++ 26-panic.go | 8 ++++++++ 27-recover.go | 10 ++++++++++ 28-values.go | 13 +++++++++++++ 29-pointers.go | 14 ++++++++++++++ 5 files changed, 61 insertions(+) create mode 100644 25-defer.go create mode 100644 26-panic.go create mode 100644 27-recover.go create mode 100644 28-values.go create mode 100644 29-pointers.go diff --git a/25-defer.go b/25-defer.go new file mode 100644 index 0000000..d8fa3b8 --- /dev/null +++ b/25-defer.go @@ -0,0 +1,16 @@ +package main + +import "fmt" + +func first() { + fmt.Println("1st") +} + +func second() { + fmt.Println("2nd") +} + +func main() { + defer second() + first() +} diff --git a/26-panic.go b/26-panic.go new file mode 100644 index 0000000..de1aded --- /dev/null +++ b/26-panic.go @@ -0,0 +1,8 @@ +package main + +import "fmt" + +func main() { + panic("O noes") + fmt.Println("Finished") +} diff --git a/27-recover.go b/27-recover.go new file mode 100644 index 0000000..d5977be --- /dev/null +++ b/27-recover.go @@ -0,0 +1,10 @@ +package main + +import "fmt" + +func main() { + defer func() { + fmt.Println("Preparing for trouble...\n") + }() + panic("Trouble!") +} diff --git a/28-values.go b/28-values.go new file mode 100644 index 0000000..c12f0ab --- /dev/null +++ b/28-values.go @@ -0,0 +1,13 @@ +package main + +import "fmt" + +func zero(x int) { + x = 0 +} + +func main() { + x := 5 + zero(x) + fmt.Println(x) +} diff --git a/29-pointers.go b/29-pointers.go new file mode 100644 index 0000000..302ec78 --- /dev/null +++ b/29-pointers.go @@ -0,0 +1,14 @@ +package main + +import "fmt" + +func zero(xPtr *int) { + *xPtr = 0 +} + +func main() { + x := 5 + fmt.Println(x) + zero(&x) + fmt.Println(x) +}