2.9 KiB
Übungsblatt 07
Hinweise:
- Aufgabe 1: Keine Abgabe erforderlich
- Aufgabe 2 + 3: Abgabe erforderlich
Im Normalfall ist immer eine Abgabe erforderlich, es sei denn es gibt einen expliziten Hinweis!
1. Go-Übung: Grundlagen
Keine Abgabe erforderlich
Aufgabenstellung: Machen Sie sich mit den Grundlagen der Programmiersprache vertraut.
Arbeitsschritte
- Besuchen Sie die Webseite Go by Example: Go by Example ist eine Einführung in Go anhand kommentierter Beispielprogramme.
- Arbeiten Sie die Liste der Beispiele nacheinander durch. Folgende Themen werden (mindestens) empfohlen:
- Hello World
- Values
- Variables
- For
- If/Else
- Switch
- Arrays
- Slices
- Maps
- Functions
- Multiple Return Values
- Closures
- Range over Built-in Types
- Pointers
- Structs
- Methods
- Interfaces
- Enums
- Errors
2. Go-Übung: Kommandozeilenprogramm
Aufgabenstellung: Entwickeln Sie ein Kommandozeilenprogramm in Go, mit dem Nutzer:innen ihre persönliche Büchersammlung verwalten können.
Tipp: Schauen Sie sich vorher das Demo-Programm "taskmanager" an.
Arbeitsschritte
Implementieren Sie ein Programm mit folgenden Funktionen:
-
Buch hinzufügen
go run main.go add "Titel" "Autor"→ Fügt ein neues Buch zur Sammlung hinzu.
-
Bücher auflisten
go run main.go list→ Zeigt alle Bücher mit ID, Titel, Autor und Lesestatus.
-
Buch als gelesen markieren
go run main.go read <ID>→ Markiert das Buch mit der angegebenen ID als gelesen.
-
Persistenz
- Die Bücher sollen in einer Datei
books.jsongespeichert und beim Programmstart wieder geladen werden. - Verwenden Sie dafür das
encoding/json-Paket undos.ReadFile/os.WriteFile.
- Die Bücher sollen in einer Datei
Hinweise
- Verwenden Sie
structfür die Buch- und Bibliotheksdaten. - Arbeiten Sie mit
slicezur Verwaltung der Bücherliste. - Nutzen Sie Methoden zur Kapselung von Logik (z. B.
Add,MarkRead,Save). - Behandeln Sie Fehler sinnvoll und benutzerfreundlich.
- Strukturieren Sie Ihr Projekt in mindestens zwei Dateien (
main.go,book.go).
3. Go-Übung: Formulardaten empfangen
Aufgabenstellung: Erstellen Sie ein Webserver-Programm in Go, das auf localhost:8080 Anfragen entgegennimmt.
- Der Endpunkt nimmt die Formulardaten der Workshop-Anmeldung aus Übungsblatt 04 entgegen und gibt sie als Response zurück.
- Nutzen Sie dazu gerne die zuvor von Ihnen in Übungsblatt 06 definierte SWAGGER-Schnittstelle.
- Es sollen nur
POST-Request erlaubt sein. Falls eine andere Methode verwendet wurde, soll der Status-Code 405 (Method not allowed) zurückgegeben werden. - Testen Sie Ihren Endpunkt mit Ihrem HTML-Formular.
- Denken Sie daran sowohl in Ihrer SWAGGER-Schnittstelle als auch in Ihrem HTML-Formular den Endpunkt auf localhost:8080 abzuändern