4.9 bei Google (53 Bewertungen)

GO Einführung und Grundlagen Schulung

Syntax, Grundkonzepte und Best Practices in Go

Zu den Terminen

Durch 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

Lufthansa Logo
BMW Logo
Bundeswehr Logo
Logo der ARD Gruppe
Zalando Logo
Volkswagen Logo

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.