diff --git a/exercise_0305/go.mod b/exercise_0305/go.mod new file mode 100644 index 0000000000000000000000000000000000000000..aa6483b44092663c5c932904ae72668cbc571cdc --- /dev/null +++ b/exercise_0305/go.mod @@ -0,0 +1,3 @@ +module gitlab.reutlingen-university.de/go-exercises/go-starter/exercise_0305 + +go 1.20 diff --git a/exercise_0305/main.go b/exercise_0305/main.go new file mode 100644 index 0000000000000000000000000000000000000000..c15c0c9d2846a46d72e44fe67553836eb837e3cd --- /dev/null +++ b/exercise_0305/main.go @@ -0,0 +1,44 @@ +package main + +import "fmt" + +type PhoneBook struct { + entries map[int]string +} + +func (pb *PhoneBook) AddNumbers(person string, numbers ...int) { + for _, number := range numbers { + pb.entries[number] = person + } +} + +func CreateEmptyPhoneBook() PhoneBook { + emptyPB := PhoneBook{ + entries: make(map[int]string), + } + return emptyPB +} + +func (pb *PhoneBook) PrintPhoneBook() { + for number, person := range pb.entries { + fmt.Printf("%s: %d\n", person, number) + } +} + +func main() { + + pb := PhoneBook{ + entries: map[int]string{ + 4711: "Marcus", + 4712: "Martin", + }, + } + + pb.AddNumbers("Dominik", 4713, 4714) + pb.PrintPhoneBook() + + pb2 := CreateEmptyPhoneBook() + pb2.AddNumbers("Karlo", 1, 2, 3, 4, 5) + pb2.PrintPhoneBook() + +}