From 2a2139caeb32cbf5c86b9da4db8706aa59653fd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mert=20G=C3=B6r?= Date: Mon, 22 Jan 2024 09:03:58 +0300 Subject: [PATCH] area calculated --- interfaces/demo1.go | 38 ++++++++++++++++++++++++++++++++++++++ main.go | 3 +++ 2 files changed, 41 insertions(+) create mode 100644 interfaces/demo1.go diff --git a/interfaces/demo1.go b/interfaces/demo1.go new file mode 100644 index 0000000..7bdc511 --- /dev/null +++ b/interfaces/demo1.go @@ -0,0 +1,38 @@ +package interfaces + +import ( + "fmt" + "math" +) + +type shape interface{ + area() float64 +} + +type rectangle struct{ + rectangle_width, rectangle_height float64 +} + +type circle struct{ + radius float64 +} + +func (r rectangle) area() float64{ + return r.rectangle_height * r.rectangle_width +} + +func (c circle) area() float64 { + return math.Pi * c.radius * c.radius +} + +func school(s shape) { + fmt.Println("Area : ", s.area()) +} + +func Demo1() { + r:= rectangle{ + rectangle_width: 10, rectangle_height: 6, + } + + school(r) +} \ No newline at end of file diff --git a/main.go b/main.go index 5a3f86d..d3ab7a9 100644 --- a/main.go +++ b/main.go @@ -8,6 +8,7 @@ import ( "golesson/examplerange" "golesson/functions" "golesson/goroutines" + "golesson/interfaces" "golesson/loops" "golesson/maps" "golesson/pointers" @@ -75,4 +76,6 @@ func main() { multiply := EvenNumberTotal * OddNumberTotal fmt.Println("Multiply Result : ", multiply) + + interfaces.Demo1() }