- 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 02: Slices, Arrays & Maps ⚡
Willkommen zu Modul 02 des Go (Golang) Kurses!
In diesem Modul meisterst du die grundlegenden Sammlungs-Datentypen in Go: Arrays fester Größe, dynamische Slices (make, append, Reslicing) und Assoziative Maps (delete, Comma-OK Idiom).
💡 1. Das Wichtigste in Kürze
Array vs. Slice
- Array (
[5]int): Feste Länge zur Compile-Zeit. Werttyp: Übergabe an Funktionen kopiert das gesamte Array. - Slice (
[]int): Dynamischer View auf ein Underlyings Array. Enthält Pointer, Länge (len) und Kapazität (cap). make([]T, len, cap): Erstellt ein Slice mit vorallokiertem Speicher, um wiederholte Speicher-Reallokationen bei vielenappend-Aufrufen zu vermeiden.
Slicing Syntax
s[start:ende]: Elemente von Indexstartbisende-1.s[:ende]: Ab Beginn bisende-1.s[start:]: Ab Indexstartbis zum Ende.
Maps in Go
Maps bilden Schlüssel eindeutig auf Werte ab:
m := make(map[string]int)
m["cpu"] = 4
delete(m, "cpu") // Entfernt den Schlüssel
// Comma-OK Idiom:
wert, existiert := m["ram"]
if !existiert {
// Schlüssel fehlt
}
🎯 Teilziele in aufgabe.go
- TODO 1:
FiltereGeradeZahlen(zahlen []int) []intimplementieren. - TODO 2:
ErweitereProtokolle(logs []string, neueEintraege ...string) []stringumsetzen. - TODO 3:
ZaehleWortHaeufigkeit(text string) map[string]intschreiben. - TODO 4:
SichereBenutzerAbfrageundLoescheBenutzermit Comma-OK Idiom implementieren.