Skip to content

Commit 1869ead

Browse files
committed
adding my new file in github about higher order functions
1 parent 7bcf811 commit 1869ead

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

higherorderfunctions.go

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
)
6+
7+
func calcArea(r float64) float64 {
8+
return 3.14 * r * r
9+
}
10+
func calcDiameter(r float64) float64 {
11+
return 2 * r
12+
}
13+
func calcPerimeter(r float64) float64 {
14+
return 2 * 3.14 * r
15+
}
16+
func main() {
17+
var query int
18+
var radius float64
19+
fmt.Print("enter the radius of the circle: ")
20+
fmt.Scanf("%f", &radius)
21+
fmt.Printf("ENter \n 1 - area \n 2- perimeter \n 3 - diamter: ")
22+
fmt.Scanf("%d", &query)
23+
24+
if query == 1 {
25+
fmt.Println("Result: ", calcArea(radius))
26+
} else if query == 2 {
27+
fmt.Println("Result: ", calcPerimeter(radius))
28+
} else if query == 3 {
29+
fmt.Println("Result: ", calcDiameter(radius))
30+
} else {
31+
fmt.Println("Invalid Query")
32+
}
33+
34+
}
35+
func printResult(radius float64, calcFunction func(r float64) float64) {
36+
result := calcFunction(radius)
37+
fmt.Println("result: ", result)
38+
fmt.Println("Thankyou!")
39+
}

0 commit comments

Comments
 (0)