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