Aufgaben-Python/courses/go/05_structs_und_methoden
Alex Mueller 2571cb8847 feat(ux): responsive kurs-sidebar und kapitel-drawer für alle 13 kurse & web-ide
- 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
2026-09-12 13:49:46 +02:00
..
aufgabe.go Vollständige Umsetzung von Phase A bis C: (1) SQL & Data Analytics Master (16 Module), (2) HTML5 & Modern CSS3 (16 Module) und (3) Go Cloud Microservices (16 Module). Plattform umfasst nun 131 Module über 7 Sprachen 2026-08-30 13:10:38 +02:00
index.html feat(ux): responsive kurs-sidebar und kapitel-drawer für alle 13 kurse & web-ide 2026-09-12 13:49:46 +02:00
musterloesung.go Vollständige Umsetzung von Phase A bis C: (1) SQL & Data Analytics Master (16 Module), (2) HTML5 & Modern CSS3 (16 Module) und (3) Go Cloud Microservices (16 Module). Plattform umfasst nun 131 Module über 7 Sprachen 2026-08-30 13:10:38 +02:00
README.md Vollständige Umsetzung von Phase A bis C: (1) SQL & Data Analytics Master (16 Module), (2) HTML5 & Modern CSS3 (16 Module) und (3) Go Cloud Microservices (16 Module). Plattform umfasst nun 131 Module über 7 Sprachen 2026-08-30 13:10:38 +02:00
test_aufgabe.go Vollständige Umsetzung von Phase A bis C: (1) SQL & Data Analytics Master (16 Module), (2) HTML5 & Modern CSS3 (16 Module) und (3) Go Cloud Microservices (16 Module). Plattform umfasst nun 131 Module über 7 Sprachen 2026-08-30 13:10:38 +02:00

Go 05: Structs & Methoden 🏗️

Willkommen zu Modul 05 des Go (Golang) Kurses!

In diesem Modul lernst du, wie Go Datenstrukturen und Verhalten ohne traditionelle Klassen kapselt: Struct-Definitionen, Konstruktoren, Value-Receiver vs. Pointer-Receiver und Struct Embedding.


💡 1. Das Wichtigste in Kürze

Structs & Konstruktor-Pattern

In Go deklarierst du Typen mit type Name struct. Konstruktoren werden als Funktionen nach dem Schema NewName(...) *Name realisiert.

Value- vs. Pointer-Receiver

  • Value-Receiver (func (u User) Info()): Arbeitet auf einer Kopie. Das Original-Struct im Speicher wird nicht berührt.
  • Pointer-Receiver (func (u *User) SetEmail(e string)): Erhält die Speicheradresse des Objekts. Änderungen sind persistent.

Struct Embedding (Komposition)

Felder und Methoden eines anonym eingebetteten Structs stehen dem übergeordneten Struct automatisch zur Verfügung:

type Admin struct {
    User
    Superpower string
}

🎯 Teilziele in aufgabe.go

  1. TODO 1: Struct User (ID int, Username string, Email string, Active bool) und Konstruktor NewUser(...) *User erstellen.
  2. TODO 2: Value-Receiver Methode (u User) Info() string implementieren.
  3. TODO 3: Pointer-Receiver Methoden (u *User) Deactivate() und (u *User) UpdateEmail(newEmail string) schreiben.
  4. TODO 4: Struct AdminUser mit eingebettetem User und (a *AdminUser) Permissions() []string umsetzen.