Golang für Anfänger

Dieser Kurs führt Sie durch die Beherrschung der Go-Programmierung mit praktischen Übungen und Herausforderungen. Sie lernen Schlüsselkonzepte wie das Schreiben Ihres ersten Programms, die Verwaltung von Paketen, die Verwendung von Datentypen, Kontrollflüsse und Go-spezifische Funktionen wie Slices, Maps, Channels und anonyme Funktionen kennen, um eine solide Grundlage für die Bewältigung realer Programmieraufgaben aufzubauen.

Golang

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Lehrplan

Anleitung für Anfänger in der Go-Programmierung

Erstellen einer persönlichen Go-Begrüßung

GOPATH und Module

Ein modulares Go-Projekt erstellen

Erstellen und Importieren von Go-Paketen

Erstellung eines Mathematik-Hilfspakets

Einführung in Go-Variablen

Variablen für den Buchbestand erstellen

Datenverarbeitung mit Operatoren in Golang

Produkt-Rabattpreis berechnen

Numerische Datentypen in Golang

Numerische Typen konvertieren und berechnen

Zeichentypen in Golang

Unicode-Emojis dekodieren

Grundlagen von Go-Strings

Benutzerregistrierungs-Strings verarbeiten

Grundlagen der Go-Konstanten

Servergrößen-Konstanten definieren

If-Verzweigungsanweisung in Golang

Aufgaben mit bedingter Logik sortieren

Switch-Case-Verzweigungen in Golang

Implementierung einer Wetterberatung mit Switch

For-Schleifen in Golang

Strings umkehren mit Go-Schleifen

Verwendung der goto-Anweisung

Komplexität verschachtelter Schleifen mit Goto lösen

Array-Operationen in Golang

Array für Mitarbeiternamen initialisieren

Mehrdimensionale Arrays in Golang

Entwurf eines Noten-Trackers für Studierende

Golang Slice-Datenstrukturen

Herausforderung: Log-Filter für Slices

Grundlagen von Go-Wörterbüchern (Maps)

Studentennoten mit Go Maps verwalten

Sortieren von Go-Dictionaries

Studentennoten dynamisch sortieren

Channel-Grundlagen in Golang

Erstellung einer einfachen Channel-Datenpipeline

Strukturen in Golang

Entwurf einer Student-Struktur in Go

Funktionen in Golang

Entwurf einer flexiblen mathematischen Funktion

Anonyme Funktionen in Golang

Entwurf flexibler mathematischer Transformationen

Einführung

Baue mit 44 Hands-on-Labs in 22 Paaren aus geführtem Lab und Challenge eine breite Go-Grundlage auf. Du schreibst und startest Programme in einem bereitgestellten WebIDE, lernst jedes Konzept anhand von Beispielen und löst danach eine fokussierte Anwendungsaufgabe.

Der Kurs führt von Syntax, Modulen, Packages und Datentypen zu Kontrollfluss und Collections. Später kommen Structs, flexible Funktionsmuster und Channels hinzu; der Einstieg ist Beginner, einige Challenges sind Intermediate und die Channel-Pipeline ist Advanced.

Was du lernen wirst

Nach Abschluss des Kurses kannst du:

  • Ein einfaches Go-Programm schreiben und ausführen, seine Struktur erklären und gängige fmt-Funktionen nutzen.
  • Projekte mit Go Modules und Packages organisieren, Imports verwalten und exportierte von privaten Funktionen unterscheiden.
  • Variablen und Konstanten deklarieren und mit Operatoren, Zahlen, Booleschen Werten, Strings, Bytes, Runes, Unicode und iota arbeiten.
  • Entscheidungen und Wiederholungen mit if, switch, for, break, continue und gezieltem goto ausdrücken.
  • Daten in Arrays, mehrdimensionalen Arrays, Slices und Maps erstellen, durchlaufen, ändern, kopieren, filtern und sortieren.
  • Structs definieren und initialisieren, um zusammengehörige Werte klar zu modellieren.
  • Funktionen mit mehreren Rückgaben oder variadischen Parametern schreiben und anonyme Funktionen als Aufruf oder Callback verwenden.
  • Typisierte und gerichtete Channels erstellen und Producer- und Consumer-Goroutines in einer einfachen Pipeline verbinden.

Für wen dieser Kurs geeignet ist

Der Kurs richtet sich an Go-Einsteiger, die einen umfangreichen Sprachkurs mit Übung nach jedem Thema suchen. Er eignet sich auch für Programmierende aus anderen Sprachen, die Go-Module, Collections, Funktionen und das Channel-Modell praktisch kennenlernen möchten.

Voraussetzungen: Go-Vorkenntnisse sind nicht erforderlich. Du solltest Befehle eingeben und Quelldateien bearbeiten können; Grundideen wie Variablen, Bedingungen, Schleifen und Funktionen erleichtern das Lerntempo.

Lernumgebung: Alle 44 Labs laufen in bereitgestellten Ubuntu-22.04-WebIDEs mit Go-Werkzeugen. Du arbeitest hauptsächlich in Terminal und Editor; auf jedes geführte Thema folgt eine kurze Programmier-Challenge.

Häufig gestellte Fragen

Wie sind die 44 Labs aufgebaut?

Sie bilden 22 Themenpaare. Ein geführtes Lab erklärt und demonstriert ein Go-Konzept, danach verlangt die zugehörige Challenge ein kleines Programm oder eine Funktion mit diesem Konzept.

Sind alle Aufgaben auf Beginner-Niveau?

Nein. Die geführten Labs sind Beginner, mehrere Anwendungs-Challenges Intermediate und die Producer-Consumer-Channel-Pipeline Advanced. Der Einstieg ist sanft, spätere Aufgaben verlangen mehr Eigenständigkeit.

Wie tief behandelt der Kurs Go-Concurrency?

Er führt Deklaration, Initialisierung, Senden, Empfangen, Blockierung und Richtung von Channels sowie eine einfache Goroutine-Pipeline ein. Produktionsmuster, Synchronisationsprimitive, Cancellation und verteilte Systeme werden nicht behandelt.

Baue ich Webservices oder Datenbankanwendungen?

Nein. Der Lehrplan konzentriert sich auf die Go-Sprache und kleine Kommandozeilenprogramme. HTTP-Server, Frameworks, Datenbanken, Test-Packages und Produktionsarchitektur gehören nicht zum Umfang.

Lehrer

labby
Labby
Labby is the LabEx teacher.