- Dynamic Sidebar mit window.COURSES_MANIFEST für 13 Kurse (216 Kapitel) - Kurswechsler Dropdown mit Direktnavigation - Fortschrittsanzeige mit Solved-Checkmarks (✓) aus localStorage - Responsive Off-Canvas Drawer mit Floating Action Button (☰ Kapitel) & Backdrop auf Mobile/Tablets - Web-IDE Topbar Drawer-Button (☰ Kapitel) für unterbrechungsfreien Vollbild-Editor - Saubere Bereinigung redundanter statischer Legacy-Sidebars |
||
|---|---|---|
| .. | ||
| aufgabe.go | ||
| index.html | ||
| musterloesung.go | ||
| README.md | ||
| test_aufgabe.go | ||
Go 06: Interfaces, Duck Typing & Polymorphie ⚡
Willkommen zu Modul 06 des Go (Golang) Kurses!
In diesem Modul lernst du das Interface-System von Go kennen: Implizite Schnittstellen-Erfüllung (Structural Typing), lose Kopplung bei Services, Type Assertions (val.(Type)) und Type Switches auf any.
💡 1. Das Wichtigste in Kürze
Implizite Implementierung
In Go implementiert ein Datentyp ein Interface automatisch, ohne Schlüsselwörter wie implements. Sobald alle Methodensignaturen übereinstimmen, ist der Typ polymorph einsetzbar.
Type Assertions
Mit val.(ConcreteType) prüfst du, ob ein Interface-Wert einen bestimmten konkreten Typ kapselt:
if s, ok := i.(string); ok {
fmt.Println("Es ist ein String:", s)
}
Type Switches
Mit switch v := i.(type) unterscheidest du dynamisch zwischen verschiedenen Typen.
Leeres Interface (any / interface{})
Das leere Interface hat 0 Methoden und wird von jedem Typ in Go erfüllt.
🎯 Teilziele in aufgabe.go
- TODO 1: Interface
StoragemitSave(key, val string) error,Get(key string) (string, bool)undCount() intdefinieren. - TODO 2: Struct
MemoryStorageimplementieren, dasStorageerfüllt. - TODO 3: Polymorphe Funktion
SyncData(source, target Storage, keys []string) (int, error)schreiben. - TODO 4: Funktion
TypPruefung(val any) stringmit Type-Switch realisieren.