diff --git a/03_recursion/Golang/01_countdown/Countdown.go b/03_recursion/Golang/01_countdown/Countdown.go new file mode 100644 index 0000000..7a351b4 --- /dev/null +++ b/03_recursion/Golang/01_countdown/Countdown.go @@ -0,0 +1,16 @@ +package main + +import "fmt" + +func countdown(i int) { + fmt.Println(i) + if i <= 0 { + return + } else { + countdown(i - 1) + } +} + +func main() { + countdown(5) +} diff --git a/03_recursion/Golang/02_greet/Greet.go b/03_recursion/Golang/02_greet/Greet.go new file mode 100644 index 0000000..ea5472a --- /dev/null +++ b/03_recursion/Golang/02_greet/Greet.go @@ -0,0 +1,22 @@ +package main + +import "fmt" + +func greet2(name string) { + fmt.Println("how are you, " + name + "?") +} + +func bye() { + fmt.Println("ok bye!") +} + +func greet(name string) { + fmt.Println("hello, " + name + "!") + greet2(name) + fmt.Println("getting ready to say bye...") + bye() +} + +func main() { + greet("adit") +} diff --git a/03_recursion/Golang/03_factorial/Factorial.go b/03_recursion/Golang/03_factorial/Factorial.go new file mode 100644 index 0000000..c2c4d97 --- /dev/null +++ b/03_recursion/Golang/03_factorial/Factorial.go @@ -0,0 +1,15 @@ +package main + +import "fmt" + +func fact(x int) int { + if x == 1 { + return 1 + } else { + return x * fact(x-1) + } +} + +func main() { + fmt.Println(fact(5)) +}