Eine optimale Teilnahme am Kurs erfordert folgende Vorkenntnisse:
- Solide Kenntnisse in objektorientierter Programmierung
Einführung
Einrichten einer Entwicklungsumgebung
- Installation und Einrichtung
- Erste Anwendung erstellen
Gängige Go-Commands
- go build
- go run
- go fmt
- go mod
Grundlegende Spracheigenschaften
- Variablen: Primitive Datentypen, Pointers
- Type conversion
- Konstanten
- Collection Types: Arrays, Slices, Maps
- Operatoren: Arithmetik, Vergleich, Logisch
- Looping: For, Range, Break, Continue
- Branching: If, Switch
Fehlerbehandlung
- Fehler als Rückgabewert
- Panic
- Recover
Funktionen
- Var-Args-Funktionen
- Mehrere Rückgabewerte
- Anonyme Funktionen
- Übergabe von Funktionen an Funktionen
- Aufgeschobene Funktionen
Packages
- Namenskonventionen
- Importieren
- Regeln zur Sichtbarkeit
- Dokumentation
- Init-Funktionen und package lifecycle
Module
- Module erstellen
- Verwendung externer Module
Objektorientierte Konstrukte
- Structs
- Methoden und Methodenempfänger
- Interfaces
- Type assertions
- Konstruktor Funktionen
Parallelität
- Go-Routines
- Channels
- WaitGroups
- Mutexes
- Select statements
Testing
- Unit tests
- Benchmark tests
- Example tests
- Analyse der Code-Abdeckung
Debugging
Standard Bibliotheken
- fmt
- net/http
- encoding/json
- regexp
- strconv
- errors
- log
Networking
- Request processing
- Generating responses
- Working with JSON
- Routing requests
Contexts
- Background vs TODO
- Werte speichern
- Strukturierte Nebenläufigkeit
Application Profiling
- Identifizieren von Bottlenecks: CPU, Speicher, Netzwerk
Standard Bibliotheken
- Database/SQL
- Bytes
- Net
- Net/http/httptest
Erweiterte Projektstrukturen
- Alternative Importstrategien
- Verwendung interner Pakete
- Packages entwerfen
- Modul lifecycle Management
- Semantische Versionierung mit Modulen
- Importieren versionierter Module
- Arbeiten mit veralteten Arbeitsbereichen
Praktische Beispiele
- Eine CLI-basierten Anwendung
- Web-Anweung mit REST-API und Datenbank
Hinweise
C
Zielgruppen - Softwareentwickler
- Administratoren
Eine optimale Teilnahme am Kurs erfordert folgende Vorkenntnisse:
- Solide Kenntnisse in objektorientierter Programmierung
Einführung
Einrichten einer Entwicklungsumgebung
Mehr Informationen