diff options
Diffstat (limited to 'exercises/anonymous-functions')
3 files changed, 65 insertions, 0 deletions
diff --git a/exercises/anonymous-functions/anonymous-functions1/main.go b/exercises/anonymous-functions/anonymous-functions1/main.go new file mode 100644 index 0000000..20a90cf --- /dev/null +++ b/exercises/anonymous-functions/anonymous-functions1/main.go @@ -0,0 +1,15 @@ +// anonymous functions1 +// Make me compile! + +// I AM NOT DONE +package main + +import "fmt" + +func main() { + + func(name string) { + fmt.Printf("Hello %s", name) + }() + +} diff --git a/exercises/anonymous-functions/anonymous-functions2/main.go b/exercises/anonymous-functions/anonymous-functions2/main.go new file mode 100644 index 0000000..0c899a1 --- /dev/null +++ b/exercises/anonymous-functions/anonymous-functions2/main.go @@ -0,0 +1,15 @@ +// anonymous functions2 +// Make me compile! + +// I AM NOT DONE +package main + +import "fmt" + +func main() { + var sayBye func(name string) + + sayBye = func() { + fmt.Printf("Bye %s", n) + } +} diff --git a/exercises/anonymous-functions/anonymous-functions3/main.go b/exercises/anonymous-functions/anonymous-functions3/main.go new file mode 100644 index 0000000..d49c752 --- /dev/null +++ b/exercises/anonymous-functions/anonymous-functions3/main.go @@ -0,0 +1,35 @@ +// anonymous functions3 +// Make me compile! + +// I AM NOT DONE +package main + +import "fmt" + +func updateStatus() func() string { + var index int + orderStatus := map[int]string{ + 1: "TO DO", + 2: "DOING", + 3: "DONE", + } + + return func() string { + index++ + return "What should I return?" + } +} + +func main() { + anonymous_func := updateStatus() + var status string + + status = anonymous_func() + status = anonymous_func() + + if status == "DONE" { + fmt.Println("Good Job!") + } else { + panic("To complete the challenge the status must be DONE") + } +} |