Contents
ΕΝΟΤΗΤΑ 1 — ERROR HANDLING & STANDARD PACKAGES
Error Handling στη Go errors.New, fmt.Errorf Guard Clause Η λέξη-κλειδί defer Panic: Πότε επιτρέπεται Recover: Περιορισμός της Ζημιάς Recover ΜΟΝΟ μέσα σε defer Μίνι Γλωσσάρι — Ενότητα 1
ΕΝΟΤΗΤΑ 2 — STANDARD PACKAGES
building strings Το πακέτο strconv os package os.Exit: Άμεσος Τερματισμός reading & writing files Challenge: Word Frequency Μίνι Γλωσσάρι — Ενότητα 2
ΕΝΟΤΗΤΑ 3 — STRUCTS
structs basics struct literals anonymous structs, pointers composition over inheritance name shadowing Μίνι Γλωσσάρι — Ενότητα 3
ΕΝΟΤΗΤΑ 4 — METHODS
methods basics Value Receivers vs Pointer Receivers Methods σε Non-Struct Types Μίνι Γλωσσάρι — Ενότητα 4
ΕΝΟΤΗΤΑ 5 — INTERFACES
interfaces basics Implicit Implementation (Έμμεση Υλοποίηση) polymorphism theory interface internals nil interface trap Type Assertions & Type Switches Η Χρυσή Αρχή: Keep Interfaces Small Μίνι Γλωσσάρι — Ενότητα 5
ΕΝΟΤΗΤΑ 6 — ΠΟΛΥΜΟΡΦΙΣΜΟΣ ΣΤΗΝ ΠΡΑΞΗ
concrete type vs abstraction io.Reader & io.Writer piping data anywhere Challenge: CountLines Παγίδες, Anti-patterns & Testing Benefits testing without real files Μίνι Γλωσσάρι — Ενότητα 6
ΕΝΟΤΗΤΑ 7 — ΑΡΧΙΤΕΚΤΟΝΙΚΑ ΜΟΤΙΒΑ
Pipeline Pattern intro + plain switch FSM with enums FSM with a transition table 4η Υλοποίηση FSM: Βασισμένη σε Callbacks/Hooks 5η Υλοποίηση FSM: State Pattern με Structs & Interfaces comparing all 5 approaches Strategy Pattern Command Pattern Undo/Redo: Η Κλασική Χρήση Builder Pattern Functional Options Pattern Μίνι Γλωσσάρι — Ενότητα 7
ΚΛΕΙΣΙΜΟ
final review quiz full glossary Έφτασες στο τέλος