From bf3971bd133cde19abe17f706b8c1a06626b5b92 Mon Sep 17 00:00:00 2001 From: Martin Schmollinger <martin.schmollinger@reutlingen-university.de> Date: Fri, 7 Apr 2023 18:37:53 +0200 Subject: [PATCH] Solution to exercise of unit 03-04 --- exercise_0304/go.mod | 3 +++ exercise_0304/main.go | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 exercise_0304/go.mod create mode 100644 exercise_0304/main.go diff --git a/exercise_0304/go.mod b/exercise_0304/go.mod new file mode 100644 index 0000000..3c219f0 --- /dev/null +++ b/exercise_0304/go.mod @@ -0,0 +1,3 @@ +module gitlab.reutlingen-university.de/go-exercises/go-starter/exercise_0303 + +go 1.20 diff --git a/exercise_0304/main.go b/exercise_0304/main.go new file mode 100644 index 0000000..514802a --- /dev/null +++ b/exercise_0304/main.go @@ -0,0 +1,37 @@ +package main + +import "fmt" + +type Areaer interface { + Area() int +} + +type Rectangle struct { + length int + width int +} + +func (r Rectangle) Area() int { + return r.length * r.width +} + +func (r *Rectangle) SetWidth(width int) { + r.width = width +} + +func (r Rectangle) String() string { + return fmt.Sprintf("{l: %d, w: %d}", r.length, r.width) +} + +func createShape() Areaer { + return Rectangle{length: 10, width: 5} +} + +func main() { + r := Rectangle{length: 10, width: 5} + r.SetWidth(9) + fmt.Println(r.Area()) + s := createShape() + fmt.Println(s.Area()) + fmt.Println(r) +} -- GitLab