Journey
Go (Golang) lernen
Ein kostenloser, interaktiver Online-Kurs zu Go. In jeder Lektion schreibst du selbst Go – Syntax, Structs, Slices, Interfaces, goroutines, channels – mit KI-Hinweisen, wenn dich Concurrency mal aus der Bahn wirft, und einem kostenlosen Zertifikat am Ende.
20,998+ codders eingeschrieben
- Anfängerfreundlich
KI-gestützte Coding-Hilfe
Praktische, interaktive Lektionen
Audio-Erzählung in jeder Lektion
Quizfragen zum Wissenstest
Kostenloses Abschlusszertifikat
Lehrplan
Abschnitt 1
Grundlagen
Abschnitt startenStartenAusklappenEinklappenBauen Sie eine starke Grundlage mit wesentlichen Konzepten und grundlegenden Fähigkeiten auf.Einführung in Go
4 Lektionen423- 01Was ist Go?Aufgabe
- 02Hello WorldAufgabeQuizAudio
- 03PrintlnAufgabeQuizAudio
- 04Go-KommentareAufgabeQuizAudio
Variablen und grundlegende Datentypen
10 Lektionen1069- 01Was ist eine VariableAufgabeQuizAudio
- 02Typinferenz mit `:=`AufgabeQuizAudio
- 03Ganzzahlen (int)AufgabeQuizAudio
- 04GleitkommazahlenAufgabeQuizAudio
- 05Boolesche WerteAufgabeQuizAudio
- 06StringsAufgabeQuizAudio
- 07Zero ValuesAufgabeQuizAudio
- 08KonstantenAufgabeQuizAudio
- 09NamenskonventionenAufgabeQuizAudio
- 10Zusammenfassung - Variablen und TypenAufgabe
Grundlegende Operatoren
7 Lektionen744- 01Arithmetische OperatorenAufgabeQuizAudio
- 02DivisionsoperatorAufgabeQuizAudio
- 03Der Modulo-OperatorAufgabeQuizAudio
- 04ZuweisungsoperatorAufgabeQuizAudio
- 05Kombinierte ZuweisungsoperatorenAufgabeQuizAudio
- 06Inkrement und DekrementAufgabeQuizAudio
- 07Zusammenfassung - BerechnungenAufgabe
Vergleichs- & logische Operatoren
7 Lektionen742- 01Vergleichsoperatoren - Teil 1AufgabeQuizAudio
- 02Vergleichsoperatoren - Teil 2AufgabeQuizAudio
- 03Logischer UND-OperatorAufgabeQuizAudio
- 04Logischer ODER-OperatorAufgabeQuizAudio
- 05Logischer NICHT-OperatorAufgabeQuizAudio
- 06Grundlagen der OperatorrangfolgeAufgabeQuizAudio
- 07Zusammenfassung - Vergleiche anstellenAufgabe
Grundlagen der Ein- und Ausgabe
5 Lektionen532- 01Formatierte AusgabeAufgabeQuizAudio
- 02Format-VerbenAufgabeQuizAudio
- 03Typen ausgebenAufgabeQuizAudio
- 04Einfache Benutzereingaben erhaltenAufgabeQuizAudio
- 05Zusammenfassung – Ein- und AusgabeAufgabe
Kontrollfluss: Bedingte Anweisungen
10 Lektionen1069- 01Die `if`-AnweisungAufgabeQuizAudio
- 02Das `else`-SchlüsselwortAufgabeQuizAudio
- 03Das `else if`-SchlüsselwortAufgabeQuizAudio
- 04Variable Shadowing in `if`AufgabeQuizAudio
- 05Variablen initialisierenAufgabeQuizAudio
- 06Die `switch`-AnweisungAufgabeQuizAudio
- 07Switch mit AusdrückenAufgabeQuizAudio
- 08Switch ohne AusdruckAufgabeQuizAudio
- 09Das `fallthrough`-SchlüsselwortAufgabeQuizAudio
- 10Zusammenfassung – Entscheidungen treffenAufgabe
Kontrollfluss: Schleifen
7 Lektionen743- 01Die `for`-Schleife erklärtAufgabeQuizAudio
- 02for-Schleife - GrundlagenAufgabeQuizAudio
- 03for-Schleife - Nur BedingungAufgabeQuizAudio
- 04Das `break`-SchlüsselwortAufgabeQuizAudio
- 05Das `continue`-SchlüsselwortAufgabeQuizAudio
- 06Verschachtelte SchleifenAufgabeQuizAudio
- 07Zusammenfassung - Aktionen wiederholenAufgabe
Funktionen
9 Lektionen962- 01Funktionen verstehenAufgabeQuizAudio
- 02Eine Funktion deklarierenAufgabeQuizAudio
- 03Funktionen aufrufenAufgabeQuizAudio
- 04FunktionsparameterAufgabeQuizAudio
- 05Einen einzelnen Wert zurückgebenAufgabeQuizAudio
- 06Mehrere Werte zurückgebenAufgabeQuizAudio
- 07Benannte RückgabewerteAufgabeQuizAudio
- 08Grundlagen des Funktions-ScopesAufgabeQuizAudio
- 09Zusammenfassung – Wiederverwendbaren Code erstellenAufgabe
Zeiger
7 Lektionen644- 01Was ist ein Zeiger?QuizAudio
- 02Deklarieren von ZeigervariablenAufgabeQuizAudio
- 03Der AdressoperatorAufgabeQuizAudio
- 04Dereferenzieren von ZeigernAufgabeQuizAudio
- 05Verwendung von Zeigern in FunktionenAufgabeQuizAudio
- 06Nil-ZeigerAufgabeQuizAudio
- 07Zusammenfassung – Zeiger verstehenAufgabe
Zusammengesetzte Typen: Arrays
7 Lektionen650- 01Einführung in ArraysQuizAudio
- 02Deklarieren von ArraysAufgabeQuizAudio
- 03Initialisieren von ArraysAufgabeQuizAudio
- 04Zugriff auf Array-ElementeAufgabeQuizAudio
- 05Array-Länge mit `len`AufgabeQuizAudio
- 06Iterieren über ArraysAufgabeQuizAudio
- 07Mehrdimensionale ArraysAufgabeQuizAudio
Zusammengesetzte Typen: Slices
10 Lektionen965- 01Einführung in SlicesQuizAudio
- 02Deklaration von Slice-LiteralenAufgabeQuizAudio
- 03Slices mit `make` erstellenAufgabeQuizAudio
- 04Slice-Länge vs. KapazitätAufgabeQuizAudio
- 05Zugriff auf Slice-ElementeAufgabeQuizAudio
- 06Elemente anhängenAufgabeQuizAudio
- 07Slicing von bestehenden Slices/ArraysAufgabeQuizAudio
- 08Iterieren über SlicesAufgabeQuizAudio
- 09Kopieren von SlicesAufgabeQuizAudio
- 10Zusammenfassung – Dynamische ListenAufgabe
Zusammengesetzte Typen: Maps
10 Lektionen965- 01Einführung in MapsQuizAudio
- 02Deklarieren von Map-LiteralenAufgabeQuizAudio
- 03Erstellen von Maps mit `make`AufgabeQuizAudio
- 04Hinzufügen und Aktualisieren von Key-Value-PaarenAufgabeQuizAudio
- 05Zugriff auf Map-WerteAufgabeQuizAudio
- 06Überprüfen der Existenz von SchlüsselnAufgabeQuizAudio
- 07Löschen von Map-EinträgenAufgabeQuizAudio
- 08Map-LängeAufgabeQuizAudio
- 09Iterieren über MapsAufgabeQuizAudio
- 10Zusammenfassung – Key-Value-SpeicherAufgabe
Zusammengesetzte Typen: Structs
8 Lektionen854- 01Benutzerdefinierte Typen definierenAufgabeQuizAudio
- 02Struct-Instanzen erstellenAufgabeQuizAudio
- 03Zugriff auf Struct-FelderAufgabeQuizAudio
- 04Pointer auf StructsAufgabeQuizAudio
- 05Structs initialisierenAufgabeQuizAudio
- 06Eingebettete StructsAufgabeQuizAudio
- 07Anonyme StructsAufgabeQuizAudio
- 08Zusammenfassung – Benutzerdefinierte DatenstrukturenAufgabe
Grundlagen der Fehlerbehandlung
8 Lektionen858- 01Das Konzept von FehlernAufgabeQuizAudio
- 02Das `error`-InterfaceAufgabeQuizAudio
- 03Funktionen, die Fehler zurückgebenAufgabeQuizAudio
- 04Fehler prüfenAufgabeQuizAudio
- 05Einfache Fehler erstellenAufgabeQuizAudio
- 06Formatierte Fehler erstellenAufgabeQuizAudio
- 07Grundlagen der FehlerbehandlungAufgabeQuizAudio
- 08Zusammenfassung – Probleme behandelnAufgabe
Abschnitt 2
Logik & Ablauf
Abschnitt startenStartenAusklappenEinklappenMeistern Sie fortgeschrittene Go-Programmierung mit Fokus auf Datenstrukturen und Ablaufsteuerung. Lernen Sie, mit komplexen Arrays, Collections, Fehlerbehandlung und Zeitmanagement zu arbeiten.Fortgeschrittener Kontrollfluss
5 Lektionen528- 01Switch mit `fallthrough`AufgabeQuiz
- 02Abbrechen von verschachtelten SchleifenAufgabeQuiz
- 03Fortsetzen einer bestimmten SchleifeAufgabeQuiz
- 04Die `goto`-AnweisungAufgabeQuiz
- 05Zusammenfassung – Fortgeschrittene SchleifensteuerungAufgabe
Structs und Methoden
6 Lektionen439- 01Methoden für Structs definierenAufgabeQuiz
- 02Value ReceiverAufgabeQuiz
- 03Pointer ReceiverAufgabeQuiz
- 04Receiver auswählenQuiz
- 05Methoden vs. FunktionenQuiz
- 06Zusammenfassung – Struct-VerhaltenAufgabe
Interfaces (Die Grundlagen)
8 Lektionen757- 01Was ist ein Interface?Quiz
- 02Ein Interface definierenAufgabeQuiz
- 03Ein Interface implementierenAufgabeQuiz
- 04Interface-Typen verwendenAufgabeQuiz
- 05Leeres InterfaceAufgabeQuiz
- 06Type AssertionsAufgabeQuiz
- 07Type SwitchAufgabeQuiz
- 08Zusammenfassung – Formen und VerhaltenAufgabe
Projekt: Einfache Aufgabenliste
Projekt6 Lektionen1- 01Projekt-SetupAufgabe
- 02Eine Aufgabe hinzufügenProjekt
- 03Alle Aufgaben anzeigenProjekt
- 04Eine Aufgabe abschließenProjekt
- 05Eine Aufgabe entfernenProjekt
- 06Alles zusammenfügenProjekt
Maps im Detail
5 Lektionen432- 01Maps von StructsAufgabeQuiz
- 02Pointer als Map-WerteAufgabeQuiz
- 03Prüfen auf Nil-MapsAufgabeQuiz
- 04Maps vergleichenQuiz
- 05Zusammenfassung – Wortfrequenz-ZählerAufgabe
Idiomatisches Go: Sets
7 Lektionen648- 01Das Set-Idiom in GoQuiz
- 02Ein Set erstellenAufgabeQuiz
- 03Elemente zu einem Set hinzufügenAufgabeQuiz
- 04Prüfen auf MitgliedschaftAufgabeQuiz
- 05Aus einem Set entfernenAufgabeQuiz
- 06Über ein Set iterierenAufgabeQuiz
- 07Zusammenfassung – Eindeutige BenutzernamenAufgabe
Fehlerbehandlung im Detail
7 Lektionen650- 01Benutzerdefinierte FehlertypenAufgabeQuiz
- 02Fehler-Wrapping mit `%w`AufgabeQuiz
- 03Unwrapping mit `errors.Is`AufgabeQuiz
- 04Unwrapping mit `errors.As`AufgabeQuiz
- 05`panic` verstehenQuiz
- 06`recover` verwendenAufgabeQuiz
- 07Zusammenfassung – Sichere DivisionAufgabe
Projekt: Einfache Bestandsverwaltung
Projekt6 Lektionen1- 01ProjektübersichtAufgabe
- 02Lagerbestand prüfenProjekt
- 03Einen neuen Artikel hinzufügenProjekt
- 04Lagerbestand aktualisierenProjekt
- 05Einen Bericht erstellenProjekt
- 06Alles zusammenfügenProjekt
Packages und Scope
7 Lektionen550- 01Was ist ein Package?Quiz
- 02Exportiert vs. Nicht-exportiertAufgabeQuiz
- 03Ein einfaches Package erstellenAufgabeQuiz
- 04Package-AliasingAufgabeQuiz
- 05Der Blank Identifier `_`Quiz
- 06Die `init`-FunktionAufgabeQuiz
- 07Recap – Erstellen eines UtilitysAufgabe
Arbeiten mit Zeit
8 Lektionen857- 01Aktuelle Zeit abrufenAufgabeQuiz
- 02Einen bestimmten Zeitpunkt erstellenAufgabeQuiz
- 03Zeit formatierenAufgabeQuiz
- 04Zeit-Strings parsenAufgabeQuiz
- 05ZeitdauerAufgabeQuiz
- 06ZeitarithmetikAufgabeQuiz
- 07Sleeping und TickerAufgabeQuiz
- 08Zusammenfassung – Einfacher TimerAufgabe
Abschlussherausforderungen
3 Lektionen3- 01Einfache KontaktlisteAufgabe
- 02Einfacher Zahlen-ValidatorAufgabe
- 03Sammler für eindeutige ElementeAufgabe
Abschnitt 3
Objektorientierte Programmierung
Abschnitt startenStartenAusklappenEinklappenEntdecken Sie, wie Sie Code mit Klassen, Objekten und wiederverwendbaren Strukturen organisieren.Grundlagen der Go OOP
11 Lektionen1189- 01Externe DateienAufgabeQuiz
- 02Go Workspace & ModuleAufgabeQuiz
- 03Packages & ImportsAufgabeQuiz
- 04Exportierte vs. nicht-exportierte NamenAufgabeQuiz
- 05Einführung in OOP in GoAufgabeQuiz
- 06Structs als KlassenAufgabeQuiz
- 07Methoden für Structs definierenAufgabeQuiz
- 08Pointer- vs. Value-ReceiverAufgabeQuiz
- 09Struct-InitialisierungAufgabeQuiz
- 10Konstruktor-FunktionenAufgabeQuiz
- 11Zusammenfassung – Einfacher TaschenrechnerAufgabe
Vertiefung: Typen & Structs
7 Lektionen752- 01Basis- & zusammengesetzte TypenAufgabeQuiz
- 02Benutzerdefinierte TypdefinitionenAufgabeQuiz
- 03Struct TagsAufgabeQuiz
- 04Anonyme StructsAufgabeQuiz
- 05Verschachtelte StructsAufgabeQuiz
- 06Zero Values & StandardwerteAufgabeQuiz
- 07Zusammenfassung - KontaktbuchAufgabe
Zeiger & Speicher
6 Lektionen644- 01Zeiger-Grundlagen in GoAufgabeQuiz
- 02Zeiger auf StructsAufgabeQuiz
- 03Wertübergabe vs. ReferenzübergabeAufgabeQuiz
- 04Die new() FunktionAufgabeQuiz
- 05Garbage Collection in GoAufgabeQuiz
- 06Wiederholung – Linked List BuilderAufgabe
Interfaces
9 Lektionen969- 01Einführung in InterfacesAufgabeQuiz
- 02Implizite ImplementierungAufgabeQuiz
- 03Interface als VertragAufgabeQuiz
- 04Leeres Interface (any)AufgabeQuiz
- 05Type AssertionAufgabeQuiz
- 06Type SwitchAufgabeQuiz
- 07Interface-KompositionAufgabeQuiz
- 08Stringer & Error InterfacesAufgabeQuiz
- 09Rückblick - Formen-RechnerAufgabe
Komposition statt Vererbung
7 Lektionen749- 01Warum Go keine Vererbung hatAufgabeQuiz
- 02Grundlagen des Struct EmbeddingAufgabeQuiz
- 03Method PromotionAufgabeQuiz
- 04Einbetten mehrerer StructsAufgabeQuiz
- 05Embedding vs. AggregationAufgabeQuiz
- 06Shadowing eingebetteter MethodenAufgabeQuiz
- 07Zusammenfassung – Mitarbeiter-HierarchieAufgabe
Polymorphismus in Go
6 Lektionen643- 01Polymorphismus über InterfacesAufgabeQuiz
- 02Duck Typing in GoAufgabeQuiz
- 03Interface-ErfüllungsregelnAufgabeQuiz
- 04Polymorphe CollectionsAufgabeQuiz
- 05Dependency InjectionAufgabeQuiz
- 06Zusammenfassung – Payment ProcessorAufgabe
Kapselung
5 Lektionen536- 01Exportierte vs. nicht exportierte FelderAufgabeQuiz
- 02Kapselung auf Paket-EbeneAufgabeQuiz
- 03Getter- & Setter-MethodenAufgabeQuiz
- 04Information Hiding in GoAufgabeQuiz
- 05Zusammenfassung - StudierendendatensätzeAufgabe
Fehlerbehandlung & OOP
7 Lektionen754- 01Das error-InterfaceAufgabeQuiz
- 02Eigene FehlertypenAufgabeQuiz
- 03Error Wrapping (fmt.Errorf)AufgabeQuiz
- 04Sentinel-FehlerAufgabeQuiz
- 05errors.Is() und errors.As()AufgabeQuiz
- 06Panic, Defer und RecoverAufgabeQuiz
- 07Zusammenfassung – Datei-ParserAufgabe
Nebenläufigkeit & OOP
8 Lektionen863- 01Goroutines GrundlagenAufgabeQuiz
- 02Channels & KommunikationAufgabeQuiz
- 03Gepufferte vs. ungepufferte ChannelsAufgabeQuiz
- 04Select-AnweisungAufgabeQuiz
- 05sync.Mutex & sync.RWMutexAufgabeQuiz
- 06sync.WaitGroupAufgabeQuiz
- 07Thread-sicheres Struct-DesignAufgabeQuiz
- 08Zusammenfassung - Worker PoolAufgabe
Generics (Go 1.18+)
6 Lektionen645- 01Einführung in GenericsAufgabeQuiz
- 02TypparameterAufgabeQuiz
- 03Type ConstraintsAufgabeQuiz
- 04Generische StructsAufgabeQuiz
- 05Workaround für generische MethodenAufgabeQuiz
- 06Zusammenfassung – Generische CollectionAufgabe
Standardbibliothek & OOP
6 Lektionen644- 01io.Reader & io.WriterAufgabeQuiz
- 02sort.InterfaceAufgabeQuiz
- 03fmt.Stringer InterfaceAufgabeQuiz
- 04encoding/json mit StructsAufgabeQuiz
- 05http.Handler InterfaceAufgabeQuiz
- 06Zusammenfassung - REST-API-ModelleAufgabe
Fortgeschrittene OOP-Konzepte
6 Lektionen655- 01Functional Options PatternAufgabeQuiz
- 02Builder-Pattern in GoAufgabeQuiz
- 03MethodenverkettungAufgabeQuiz
- 04Typ-Aliase vs. DefinitionenAufgabeQuiz
- 05Reflection-GrundlagenAufgabeQuiz
- 06Überblick zur Code-GenerierungAufgabeQuiz
Entwurfsmuster Teil 1
6 Lektionen651- 01Einführung in EntwurfsmusterAufgabeQuiz
- 02Singleton-MusterAufgabeQuiz
- 03Factory-MusterAufgabeQuiz
- 04Abstract-Factory-MusterAufgabeQuiz
- 05Observer-MusterAufgabeQuiz
- 06Strategy-MusterAufgabeQuiz
Entwurfsmuster Teil 2
7 Lektionen764- 01Command-MusterAufgabeQuiz
- 02Adapter-MusterAufgabeQuiz
- 03Decorator-MusterAufgabeQuiz
- 04Template-Method-MusterAufgabeQuiz
- 05State-MusterAufgabeQuiz
- 06Composite-MusterAufgabeQuiz
- 07Middleware als DecoratorAufgabeQuiz
Projekt: Bibliotheksverwaltung
Projekt7 Lektionen1- 01Projektübersicht & StrukturAufgabe
- 02Buch- und Benutzer-StructsProjekt
- 03AusleihsystemProjekt
- 04Suche mit InterfacesProjekt
- 05JSON-PersistenzschichtProjekt
- 06Admin-CLI-InterfaceProjekt
- 07Testing & IntegrationProjekt
Abschließende Herausforderungen
3 Lektionen3- 01E-Learning-PlattformAufgabe
- 02BankensystemAufgabe
- 03Spielcharakter-SystemAufgabe
Warum Go (Golang) mit Coddy lernen
- Schreib und führ echten Go-Code direkt im Browser aus. Keine Go-Toolchain installieren, kein GOPATH einrichten. Jede Lektion kompiliert dein Go-Programm serverseitig und zeigt dir die Ausgabe sofort.
- Idiomatisches Go: Packages, Structs, Slices und Maps, Interfaces, Fehlerbehandlung, goroutines, channels. Genau die Go-Muster, mit denen du echte Backends und CLIs baust.
- KI-Hinweise helfen dir, Go-Code zu debuggen und Bugs in goroutines und channels zu entwirren, ohne die Lösung zu verraten – so macht das Concurrency-Modell irgendwann Klick, statt dich zu verwirren.
- Kostenloses Golang-Zertifikat, wenn du fertig bist. Ein glaubwürdiges Signal für Rollen im Backend, in der Cloud-Infrastruktur und im DevOps-Bereich, wo Go-Kenntnisse immer häufiger vorausgesetzt werden.
Häufige Fragen zum Lernen von Go (Golang)
Ist Go (Golang) leicht zu lernen?
Go ist bewusst eine der einfacheren modernen Sprachen. Kleine Spezifikation, keine Vererbung, keine standardmäßige Generics-Komplexität und eine starke Standardbibliothek. Die meisten Anfänger schreiben in der ersten Stunde ihr erstes funktionierendes Go-Programm und legen innerhalb weniger Wochen mit Goroutines los.
Wofür wird Go (Golang) verwendet?
Backend-Services, Cloud-Infrastruktur, CLIs und DevOps-Tooling. Docker, Kubernetes, Terraform und ein großer Teil der Cloud-Native-Infrastruktur sind in Go geschrieben. Die Sprache ist auf schnelle Kompilierung, einfache Concurrency und ein einzelnes statisches Binary ausgelegt – perfekt für Server und Kommandozeilen-Tools.
Wie lange dauert es, Go zu lernen?
Die Go-Grundlagen – Syntax, Funktionen, Structs, Slices, Maps – schaffst du mit täglicher Übung in ein bis zwei Wochen. Bis du dich mit Interfaces, goroutines und Channels wirklich wohlfühlst, vergehen meist nochmal zwei bis sechs Wochen. Um auf Produktionsniveau mit Go-Services zu arbeiten, hilft danach vor allem eines: an einer echten Codebase mitschreiben.
Soll ich Go oder Python lernen?
Wähle nach Ziel. Mit Python wirst du schneller produktiv bei Datenanalyse, Scripting und AI. Go glänzt bei Backend-Services, Infrastruktur-Tools und überall dort, wo du ein schnelles, statisch typisiertes Binary mit eingebauter Concurrency willst. Beide ergänzen sich gut — viele Backend-Teams setzen auf beides.
Kann ich Golang online kostenlos lernen?
Ja. Der interaktive Go-Kurs ist kostenlos – komplette Lektionen, Programmieraufgaben, Quizze und ein Zertifikat. Der Go-Compiler läuft serverseitig, du musst Go also nicht lokal installieren oder GOPATH einrichten, um loszulegen.
Bekomme ich nach dem Go-Kurs ein Zertifikat?
Ja. Wenn du den Go-Kurs abschließt, bekommst du ein kostenloses Abschlusszertifikat, das du in deinen Lebenslauf aufnehmen oder auf LinkedIn teilen kannst. Ein nachprüfbarer Nachweis – zusammen mit deinen Go-Projekten oder GitHub-Repos.