From da4aece4048d4dc4d1a1f1673362f0fb7c128d6e Mon Sep 17 00:00:00 2001
From: Martin Schmollinger <martin.schmollinger@reutlingen-university.de>
Date: Fri, 7 Apr 2023 18:03:24 +0200
Subject: [PATCH] Solution to exercise of unit 02-06

---
 exercise_0206/go.mod  |  3 +++
 exercise_0206/main.go | 28 ++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)
 create mode 100644 exercise_0206/go.mod
 create mode 100644 exercise_0206/main.go

diff --git a/exercise_0206/go.mod b/exercise_0206/go.mod
new file mode 100644
index 0000000..18ef6b3
--- /dev/null
+++ b/exercise_0206/go.mod
@@ -0,0 +1,3 @@
+module gitlab.reutlingen-university.de/go-exercises/go-starter/exercise_0206
+
+go 1.20
diff --git a/exercise_0206/main.go b/exercise_0206/main.go
new file mode 100644
index 0000000..0b9a164
--- /dev/null
+++ b/exercise_0206/main.go
@@ -0,0 +1,28 @@
+package main
+
+import (
+	"fmt"
+	"os"
+	"unicode/utf8"
+)
+
+func printSlice(s []string) {
+	fmt.Printf("%p –len: %d cap: %d %#v\n", s, len(s), cap(s), s)
+}
+
+func main() {
+	if len(os.Args) > 1 {
+		printSlice(os.Args)
+		numberOfRunes := 0
+		numberOfBytes := 0
+		for _, word := range os.Args[1:] {
+			numberOfBytes += len(word)
+			numberOfRunes += utf8.RuneCountInString(word)
+		}
+		fmt.Printf("Number of bytes: %d\n", numberOfBytes)
+		fmt.Printf("Number of runes: %d\n", numberOfRunes)
+		fmt.Printf("Average number of bytes per rune: %f\n", float32(numberOfBytes)/float32(numberOfRunes))
+	} else {
+		fmt.Printf("Usage: %s <sentence>\n", os.Args[0])
+	}
+}
-- 
GitLab