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)
+}