GO Einführung und Grundlagen Schulung
Syntax, Grundkonzepte und Best Practices in Go
Zu den TerminenDurch die Teilnahme am Seminar sollen die Teilnehmer in die Lage versetzt werden, eigenständig Go-Anwendungen zu entwickeln und bestehende Kenntnisse im Bereich der Softwareentwicklung um die Spezifika von Go zu erweitern. Abschließend zielt das Seminar darauf ab, dass die Teilnehmer die erworbenen Kenntnisse praktisch anwenden können, um effiziente, performante und skalierbare Softwarelösungen zu gestalten.
Das Seminar zur Einführung in die Programmiersprache Go bietet Teilnehmern zahlreiche Vorteile:
Marktrelevante Fähigkeiten : Go, auch bekannt als Golang, wird von vielen Unternehmen und für hochperformante Anwendungen verwendet. Die Sprache gewinnt an Beliebtheit für Cloud-Services, DevOps, Webentwicklung und viele andere Bereiche.
Effizienz und Performanz : Go ist für seine Effizienz und Schnelligkeit bekannt. Lernen, wie man in Go programmiert, bedeutet, dass Teilnehmer in der Lage sein werden, robuste und performante Software zu entwickeln.
Einfachheit und Produktivität : Go hat eine klare und einfache Syntax, die das Schreiben von Code vereinfacht und die Produktivität steigert. Das Seminar hilft Teilnehmern, diese Effizienz zu nutzen.
Konkurrenzfähige Programmierung : Durch das Erlernen von Go's Konzepten für Parallelität und Konkurrenz können Teilnehmer moderne Lösungen für Probleme der Datenverarbeitung entwickeln.
Robuste Standardbibliothek : Go verfügt über eine umfangreiche und leistungsstarke Standardbibliothek. Teilnehmer lernen, wie sie die Bibliothek effektiv nutzen können, was die Notwendigkeit von Drittanbieterbibliotheken reduziert.
Cross-Plattform-Entwicklung : Go bietet hervorragende Tools für die Cross-Plattform-Entwicklung, was bedeutet, dass Teilnehmer lernen, wie man Anwendungen erstellt, die auf verschiedenen Betriebssystemen laufen können.
Community und Unterstützung : Go hat eine starke und unterstützende Community. Teilnehmer des Seminars können diese Netzwerke nutzen, um Hilfe zu erhalten und sich über Best Practices auszutauschen.
Karriereentwicklung : Mit den Kenntnissen aus dem Seminar können Teilnehmer ihre beruflichen Fähigkeiten erweitern oder sich auf neue Positionen als Go-Entwickler bewerben.
Praktische Erfahrung : Ein Seminar mit einer Balance aus Theorie und praktischen Übungen ermöglicht es den Teilnehmern, das Gelernte sofort anzuwenden und tiefgreifendes Verständnis zu entwickeln.
Zukunftssicherung : Go wird von Google aktiv entwickelt und unterstützt. Das Erlernen von Go ist eine Investition in eine Sprache, die voraussichtlich eine lange Lebensdauer und Relevanz in der Technologiebranche haben wird.
Lernziele
Das Ziel des Seminars ist es, den Teilnehmern ein fundiertes Verständnis der Programmiersprache Go zu vermitteln. Dies umfasst die Vermittlung von Kenntnissen über die Syntax von Go, die Grundprinzipien der Sprachstruktur sowie die Anwendung von Best Practices beim Schreiben, Testen und Warten von Go-Code. Zusätzlich soll ein Einblick in fortgeschrittene Themen wie Concurrent Programming und Systemarchitektur gegeben werden.
Inhalte
Ziele und Erwartungen der Teilnehmenden
Klärung individueller Lernziele und Erwartungen für ein praxisnahes und relevantes Seminar
Einführung in Go
Überblick über die Sprache
Geschichte und Philosophie
Go im Vergleich zu anderen Sprachen
Ressourcen für Go-Entwickler
Arbeitsumgebung einrichten
Go Installation
Einrichten des Arbeitsbereiches
Verwendung von Go-Tools
Erste Schritte mit dem Go Playground
Grundlegende Syntax
Variablen und Typen
Kontrollstrukturen (if, for, switch)
Funktionen und Rückgabewerte
Kommentare und Dokumentation
Grundlegende Datentypen
Zahlen, Strings und Booleans
Arrays und Slices
Maps und Structs
Typenumwandlungen und -überprüfungen
Go-Pakete und Module
Paketstruktur und Importe
Erstellen eines eigenen Moduls
Verwaltung von Abhängigkeiten
Dokumentation und Versionierung von Modulen
Funktionale Konzepte in Go
Funktionen als Bürger erster Klasse
Anonyme Funktionen und Closures
Variadische Funktionen
Fehlerbehandlung und Panik
Methoden und Interfaces
Definition und Implementierung von Methoden
Interfaces und Verträge
Implementierung von Standardinterfaces
Typ-Assertion und Typ-Switch
Konkurrenz und Parallelität
Goroutinen und Channels
Synchronisation mit Mutex und WaitGroup
Konkurrenz-Prinzipien und -Muster
Kontexte und deren Verwendung
Fehlerbehandlung und Testing
Go's Ansatz zur Fehlerbehandlung
Erstellen und Verwenden von Custom Errors
Einführung ins Testing in Go
Benchmarks und Profiling
Arbeiten mit Dateien und I/O
Dateien lesen und schreiben
Arbeit mit dem io-Paket
Streams und Buffer
Netzwerkprogrammierung Grundlagen
Paketdesign und Strukturierung
Best Practices für die Paketstrukturierung
Vermeidung von zyklischen Abhängigkeiten
Wiederverwendbarkeit von Code
Gute Dokumentationspraktiken
Datenpersistenz und Datenbanken
Verbindung zu SQL-Datenbanken
Arbeiten mit NoSQL-Datenbanken
ORMs und Alternativen in Go
Transaktionen und Datenintegrität
Webentwicklung mit Go
HTTP-Server und -Clients
Routen und Middleware
Templating und statische Dateien
Authentifizierung und Sessions
Microservices und API-Design
RESTful API-Entwicklung
gRPC und Protobuf
API-Sicherheit und Rate Limiting
Dokumentation und Versionierung von APIs
Deployment und Wartung
Cross-Compilation und Containerisierung
Continuous Integration und Deployment (CI/CD)
Logging, Monitoring und Alerting
Performanzoptimierung und Skalierung
Reflexion und Code-Generierung
Umgang mit dem reflect-Paket
Generics in Go (ab Go 1.18)
Code-Generierungswerkzeuge
Einsatzszenarien für Code-Generierung
Sicherheit und Kryptographie
Grundlagen der Sicherheit in Go
Arbeiten mit Kryptographie-Paketen
Sichere Datenübertragung und Speicherung
Best Practices für sicheren Code
Performance und Optimierung
Profiling von Go-Anwendungen
Arbeit mit dem pprof-Tool
Garbage Collection und Speichermanagement
Konzepte der Systemebene und Optimierung
Go in der Cloud und Serverless
Einsatz von Go in Cloud-Umgebungen
Serverless Go mit AWS Lambda und ähnlichen Plattformen
Container-Orchestrierung mit Kubernetes
Cloud-native Anwendungen mit Go
Abschlussprojekt und Ressourcen
Planung und Beginn eines eigenen Go-Projekts
Code-Reviews und Peer-Feedback
Weiterführende Ressourcen und Community
Zielgruppe
Softwareentwickler, Programmierer aus anderen Sprachen, IT-Professionals, Webentwickler, Systemprogrammierer, Cloud-Service-Entwickler, Microservice-Architekten, Teamleiter, Projektmanager
Voraussetzungen
Für die Teilnahme am Seminar werden folgende Kenntnisse empfohlen:
Grundlegende Erfahrung in der Softwareentwicklung oder im Programmieren.
Kenntnisse in mindestens einer höheren Programmiersprache (z. B. Java, Python, C#, C++).
Verständnis grundlegender Softwarearchitekturen und Entwicklungsmethoden.
Basiswissen zu Webtechnologien, Systemprogrammierung oder Cloud-Computing ist von Vorteil, aber nicht zwingend erforderlich.
Schulungen, die dich interessieren könnten
Unternehmen in Deutschland, Österreich und der Schweiz, die uns vertrauen
Das sagen unsere Kunden
Wir arbeiten ständig daran uns zu verbessern. Dafür sind wir auf das Feedback unserer Kunden angewiesen.

Kompetentes Online-Training mit Learning by Doing. Besser geht nicht. Jeannette M.
Sehr gute Planung und Organisation aller Microsoft Office Schulungen. Incas Training ist sehr zu empfehlen! Christopher M.
Toller Service. Hatte auf Ihrer Seite KOSTENLOS den Weg gefunden, sämtliche Animationen mit einem Schritt zu entfernen. Hat super geklappt. Vielen lieben Dank dafür. Wenn ich schon nichts bezahlen muss, dann wenigstens eine passenden Bewertung :-) Thomas S.