Go (Golang) lernen
Ein kostenloser, interaktiver Online-Kurs zu Go. In jeder Lektion schreibst du selbst Go, mit KI-Hinweisen, wenn dich Concurrency mal aus der Bahn wirft, und einem kostenlosen Zertifikat am Ende.
22,997+ codders eingeschrieben
284 Lektionen256 Aufgaben1,839 Quizfragen
- 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 WorldAufgabeQuiz
- 03PrintlnAufgabeQuiz
- 04Go-KommentareAufgabeQuiz
Variablen und grundlegende Datentypen
10 Lektionen1069- 01Was ist eine VariableAufgabeQuiz
- 02Typinferenz mit `:=`AufgabeQuiz
- 03Ganzzahlen (int)AufgabeQuiz
- 04GleitkommazahlenAufgabeQuiz
- 05Boolesche WerteAufgabeQuiz
- 06StringsAufgabeQuiz
- 07Zero ValuesAufgabeQuiz
- 08KonstantenAufgabeQuiz
- 09NamenskonventionenAufgabeQuiz
- 10Zusammenfassung - Variablen und TypenAufgabe
Grundlegende Operatoren
7 Lektionen744- 01Arithmetische OperatorenAufgabeQuiz
- 02DivisionsoperatorAufgabeQuiz
- 03Der Modulo-OperatorAufgabeQuiz
- 04ZuweisungsoperatorAufgabeQuiz
- 05Kombinierte ZuweisungsoperatorenAufgabeQuiz
- 06Inkrement und DekrementAufgabeQuiz
- 07Zusammenfassung - BerechnungenAufgabe
Vergleichs- & logische Operatoren
7 Lektionen742- 01Vergleichsoperatoren - Teil 1AufgabeQuiz
- 02Vergleichsoperatoren - Teil 2AufgabeQuiz
- 03Logischer UND-OperatorAufgabeQuiz
- 04Logischer ODER-OperatorAufgabeQuiz
- 05Logischer NICHT-OperatorAufgabeQuiz
- 06Grundlagen der OperatorrangfolgeAufgabeQuiz
- 07Zusammenfassung - Vergleiche anstellenAufgabe
Grundlagen der Ein- und Ausgabe
5 Lektionen532- 01Formatierte AusgabeAufgabeQuiz
- 02Format-VerbenAufgabeQuiz
- 03Typen ausgebenAufgabeQuiz
- 04Einfache Benutzereingaben erhaltenAufgabeQuiz
- 05Zusammenfassung – Ein- und AusgabeAufgabe
Kontrollfluss: Bedingte Anweisungen
10 Lektionen1069- 01Die `if`-AnweisungAufgabeQuiz
- 02Das `else`-SchlüsselwortAufgabeQuiz
- 03Das `else if`-SchlüsselwortAufgabeQuiz
- 04Variable Shadowing in `if`AufgabeQuiz
- 05Variablen initialisierenAufgabeQuiz
- 06Die `switch`-AnweisungAufgabeQuiz
- 07Switch mit AusdrückenAufgabeQuiz
- 08Switch ohne AusdruckAufgabeQuiz
- 09Das `fallthrough`-SchlüsselwortAufgabeQuiz
- 10Zusammenfassung – Entscheidungen treffenAufgabe
Kontrollfluss: Schleifen
7 Lektionen743- 01Die `for`-Schleife erklärtAufgabeQuiz
- 02for-Schleife - GrundlagenAufgabeQuiz
- 03for-Schleife - Nur BedingungAufgabeQuiz
- 04Das `break`-SchlüsselwortAufgabeQuiz
- 05Das `continue`-SchlüsselwortAufgabeQuiz
- 06Verschachtelte SchleifenAufgabeQuiz
- 07Zusammenfassung - Aktionen wiederholenAufgabe
Funktionen
9 Lektionen962- 01Funktionen verstehenAufgabeQuiz
- 02Eine Funktion deklarierenAufgabeQuiz
- 03Funktionen aufrufenAufgabeQuiz
- 04FunktionsparameterAufgabeQuiz
- 05Einen einzelnen Wert zurückgebenAufgabeQuiz
- 06Mehrere Werte zurückgebenAufgabeQuiz
- 07Benannte RückgabewerteAufgabeQuiz
- 08Grundlagen des Funktions-ScopesAufgabeQuiz
- 09Zusammenfassung – Wiederverwendbaren Code erstellenAufgabe
Zeiger
7 Lektionen644- 01Was ist ein Zeiger?Quiz
- 02Deklarieren von ZeigervariablenAufgabeQuiz
- 03Der AdressoperatorAufgabeQuiz
- 04Dereferenzieren von ZeigernAufgabeQuiz
- 05Verwendung von Zeigern in FunktionenAufgabeQuiz
- 06Nil-ZeigerAufgabeQuiz
- 07Zusammenfassung – Zeiger verstehenAufgabe
Zusammengesetzte Typen: Arrays
7 Lektionen650- 01Einführung in ArraysQuiz
- 02Deklarieren von ArraysAufgabeQuiz
- 03Initialisieren von ArraysAufgabeQuiz
- 04Zugriff auf Array-ElementeAufgabeQuiz
- 05Array-Länge mit `len`AufgabeQuiz
- 06Iterieren über ArraysAufgabeQuiz
- 07Mehrdimensionale ArraysAufgabeQuiz
Zusammengesetzte Typen: Slices
10 Lektionen965- 01Einführung in SlicesQuiz
- 02Deklaration von Slice-LiteralenAufgabeQuiz
- 03Slices mit `make` erstellenAufgabeQuiz
- 04Slice-Länge vs. KapazitätAufgabeQuiz
- 05Zugriff auf Slice-ElementeAufgabeQuiz
- 06Elemente anhängenAufgabeQuiz
- 07Slicing von bestehenden Slices/ArraysAufgabeQuiz
- 08Iterieren über SlicesAufgabeQuiz
- 09Kopieren von SlicesAufgabeQuiz
- 10Zusammenfassung – Dynamische ListenAufgabe
Zusammengesetzte Typen: Maps
10 Lektionen965- 01Einführung in MapsQuiz
- 02Deklarieren von Map-LiteralenAufgabeQuiz
- 03Erstellen von Maps mit `make`AufgabeQuiz
- 04Hinzufügen und Aktualisieren von Key-Value-PaarenAufgabeQuiz
- 05Zugriff auf Map-WerteAufgabeQuiz
- 06Überprüfen der Existenz von SchlüsselnAufgabeQuiz
- 07Löschen von Map-EinträgenAufgabeQuiz
- 08Map-LängeAufgabeQuiz
- 09Iterieren über MapsAufgabeQuiz
- 10Zusammenfassung – Key-Value-SpeicherAufgabe
Zusammengesetzte Typen: Structs
8 Lektionen854- 01Benutzerdefinierte Typen definierenAufgabeQuiz
- 02Struct-Instanzen erstellenAufgabeQuiz
- 03Zugriff auf Struct-FelderAufgabeQuiz
- 04Pointer auf StructsAufgabeQuiz
- 05Structs initialisierenAufgabeQuiz
- 06Eingebettete StructsAufgabeQuiz
- 07Anonyme StructsAufgabeQuiz
- 08Zusammenfassung – Benutzerdefinierte DatenstrukturenAufgabe
Grundlagen der Fehlerbehandlung
8 Lektionen858- 01Das Konzept von FehlernAufgabeQuiz
- 02Das `error`-InterfaceAufgabeQuiz
- 03Funktionen, die Fehler zurückgebenAufgabeQuiz
- 04Fehler prüfenAufgabeQuiz
- 05Einfache Fehler erstellenAufgabeQuiz
- 06Formatierte Fehler erstellenAufgabeQuiz
- 07Grundlagen der FehlerbehandlungAufgabeQuiz
- 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
GO-Kurse
Praktische GO-Kurse, kostenlos im Browser zu starten.
Herausforderungen für Anfänger – Grundlagen üben
BeliebtStelle dein Programmierwissen für Anfänger auf die Probe und versuche, diese Programmier-Herausforderungen zu lösen. Nutze dabei eine beliebige Sprache deiner Wahl. Viel Spaß beim Programmieren!
Zertifikat am Ende
- 20
- 20
Programmieraufgaben
BeliebtStelle deine Fähigkeiten zur Problemlösung beim Programmieren mit Übungen in verschiedenen Schwierigkeitsgraden auf die Probe. Dieser Kurs richtet sich an Programmierer mit Vorkenntnissen der Basissyntax einer beliebigen Programmiersprache.
Zertifikat am Ende
- 32
- 31
Stack - Datenstrukturen-Serie #1
In diesem Kurs lernst du die Datenstruktur Stack kennen, erstellst einen Stack von Grund auf in deiner bevorzugten Sprache und löst praktische Coding-Challenges damit!
- 13
- 6
- 1
Coding Problems: Teil 2
Stelle deine Fähigkeiten zur Problemlösung beim Programmieren mit den Übungen in verschiedenen Schwierigkeitsgraden in diesem Kurs auf die Probe. Dieser Kurs wurde für Programmierer mit Vorkenntnissen der Basissyntax in einer beliebigen Programmiersprache entwickelt und ist eine Erweiterung des ersten Teils von Coding Problems.
Zertifikat am Ende
- 25
- 24
Sternmuster-Bootcamp
Nutze deine Fähigkeiten zur Problemlösung beim Programmieren, um zu lernen, wie man Sternmuster von einfach bis komplex ausgibt. Dabei kommen verschiedene Ebenen von verschachtelten Schleifen, bedingten Anweisungen und mathematischen Berechnungen zum Einsatz.
- 30
- 28
Heaps & Priority Queues - Datenstrukturen-Serie #7
In diesem Kurs lernst du die Heap-Datenstruktur kennen (das Rückgrat von Priority Queues), entwickelst einen MinHeap von Grund auf in deiner bevorzugten Programmiersprache und meisterst praktische Coding-Challenges damit!
Zertifikat am Ende
- 14
- 6
- 1
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.