Go - Der Kurs zum Buch

Eine umfangreiche Einführung in Golang. Mit vielen spannenden Projekten für einen schnellen Einstieg

4.65 (74 reviews)
Udemy
platform
Deutsch
language
Other
category
Go - Der Kurs zum Buch
856
students
20.5 hours
content
Nov 2023
last update
$49.99
regular price

What you will learn

Einen schnellen Überblick über Go

Go Syntax

kleine spannende Projekte

Nebenläufigkeit

Concurrency

Daten per HTTP laden

Webserver in Go erstellen

Description

Go (auch oft als Golang bezeichnet) ist eine relativ neue Programmiersprache, die für moderne Anforderungen ausgelegt ist. Ursprünglich bei Google konzipiert, ist Golang perfekt geeignet, um leistungsfähige Programme zu erstellen. Die Sprache ist leicht zu erlenen, da sie viele bereits bewehrte Konzepte umsetzt und somit nicht das Rad neu erfindet. Die Standardbibliothek ist sehr mächtig und eignet sich sehr gut für Microservices oder Backend-Anwendungen.  Nicht umsonst wird Go auch als die Sprache der Cloud bezeichnet.

Dieser Kurs ist eine perfekte Ergänzung zum Buch "Go - Das Praxisbuch" aus dem dpunkt-Verlag. Er beinhaltet alle Inhalte des Buches und geht auf weitere aktuelle Entwicklungen der Programmiersprache Go ein.

Der Kurs richtet sich an Entwickler, die bereits in anderen Sprachen programmiert haben. Deshalb wird die Syntax schnell vorgestellt. Hier halten wir uns nicht an bekannten Konzepten bzw. Grundlagen auf. Somit bekommst Du einen schnellen Überblick über die Sprache. Kleine Projekte zeigen, wie die Sprache praktisch angewendet werden kann. Dabei erfolgt auch ein Einblick in die mächtige Standardbibliothek der Sprache. 

Der Kurs beinhaltet aktuell wie folgende Lektionen:

  • Vorstellung der Syntax
    Es werden einmal alle Elemente der Sprache kurz vorgestellt

  • Projekt: Command Line Interface
    Im ersten Projekt wird ein Tool geschrieben, das Dateien laden kann und deren Inhalt an den Standardoutput übergibt. Anschließend wird ein zweites Tool erstellt, dass Daten aus dem Standardinput verwendet, um diese als md5-Hash auszugeben.

  • Projekt: Ein einfacher Webloader
    Dieses Projekt vertieft erneut die Verwendung des io.Reader und io.Writers und gibt weitere Einblicke in HTTP-Request, Umgang mit Files und geschickter Verwendung des Error-Typs.

  • Eigene Pakete und Module
    Eine Vorstellung, wie Module in Go abgebildet werden. Seit Version 1.11 werden Abhängigkeiten über Module verwaltet. In diesem Kapitel behandeln wir die wichtigsten Befehle und Grundlagen zu den Modulen.

  • Projekt: Code generieren
    Mit go generate ist es möglich Befehle vor dem Kompilieren über das Go-Tool ausführen zu lassen. Diese werden als Kommentar im Code angelegt. Dieses Projekt zeigt, wie go generate praktisch eingesetzt wird. Zusätzlich zeigt es, wie wir mit Go auch ganz schnell und einfach Code generieren können.

  • Concurrency-Grundlagen
    Eines der wichtigsten Features von Go ist die nebenläufige Programmierung. In diesem Kapitel wird der erste Grundstock für dieses Konzept gelegt. Hier erfolgt eine Einführung in Goroutinten, Channels, Race Conditions und vieles mehr.

  • Concurrency-Patterns
    Aufbauend auf den Grundlagen werden immer wieder kehrende Elemente der nebenläufigen Programmierung vorgestellt. Es wird gezeigt, wie unterschiedliche Problemstellungen nebenläufig in Go gelöst werden können.

  • Projekt: Go Concurrency
    Dieses Projekt zeigt, wie wir praktisch die gelernten Concurrency Grundlagen und Pattern anwenden können. Dafür erstellen wir ein CLI Tool, das Befehle nebenläufig ausführt.

  • Testen und Benchmarks
    Go besitzt schon seit Anfang eine integrierte Testumgebung. In diesem Kapitel wird dir gezeigt, wie Du Unit-Tests und Benchmarks in Go erstellst.

  • Projekt: Ein Image Resizer
    In diesem kleinen Projekt schreiben wir ein Tool, dass alle Bilder in einem Verzeichnis verkleinert. Dabei schreiben wir kleine Tests, verwenden ein externes Paket und bauen uns einen eigenen Fehlertyp. Am Ende bauen wir das sequentielle Programm in ein nebenläufiges Programm um.

  • Interfaces
    Wie werden Interfaces intern abgebildet und was ist in Go anders gelöst als in anderen Sprachen. Wie erzeugen wir auf idiomatische Weise kleine leistungsfähige Interfaces.

  • Projekt: Reflection
    In diesem Projekt erstellen wir ein Paket, dass zur Laufzeit Strukturen auswertet und die Inhalte der Felder kopiert. Dafür verwenden wir das reflect-Paket. Neben den ersten Grundlagen zu Reflection in Go zeigt dieses Projekt einen Anwendungsfall für dieses Thema.

  • Fehlerbehandlung
    Eine kurze Darstellung, wie Fehler in Go abgebildet werden und welche Besonderheiten sich daraus ergeben.

  • Projekt: Webserver
    In diesem Projekt bauen wir den Server für einen ganz einfachen Weblog. Dabei lernen wir http-Handler kennen und erstellen auch eine einfache JSON-API.




Content

Einleitung

Einleitung - Prerelease
Ziel des Kurses
Über mich
Kursmaterial und Tipps
Warum Go?
Die Geschichte von Go
Sicherheit und Patches
VSCode
Go Playground
Go Playground - externe Pakete
Spezifikation und Dokumente

Vorstellung der Syntax

Wörter, Funktionen und Typen von Go
Variablen
Konstanten
Pointer
Eigene Typen
Typumwandlung
Zusammengesetzte Strukturen
Funktionen Teil 1
Funktionen Teil 2
Objektorientierung mit Methode
Exportiert und nicht exportiert
Arrays
Slices
Slices 2
Das Slice als Pointer
Maps
if
switch
for
Labels und goto
Blank Identifier
UTF-8, strings und runes

Projekt: Command Line Interface

Einleitung
gocat - Teil 1
gocat - Teil 2
gomd5 - Teil 1: Input aus os.Stdin
gomd5 - Teil 2: Refactoring und Test
gomd5 - Teil 3: Datei als Input
gomd5 - Teil 4: http als Input

Projekt: Ein einfacher Webloader

Einleitung
CLI - unser Interface
HTTP-Request erstellen
Implementierung des File-Outputs
Ausgabe des HTTP-Headers
Gültigkeit der übergebenen URL

Reviews

Andreas
May 11, 2023
Ist ein wirklich guter Kurs. Habe diesen zusammen mit dem Buch durchgearbeitet. Schade ist jedoch, das der Kurs nicht das komplette Buch abdeckt. Daher nur 4,5 Sterne. Ansonsten Top und empfehlenswert.
Michael
October 21, 2022
Dieser Kurs war super. Gute Struktur und viele praktische Beispiele. Keine 5 Sterne , weil für das letzte Buchkapitel "Ein einfacher Webserver" keine Lektionen/Videos angeboten werden. Hier wäre die Entwicklung von APis für mich von Interesse.
Tim
June 19, 2022
Aktuell bin ich noch am Anfang. Aber aktuell macht der Kurs einen sehr guten Eindruck und hat einen guten Aufbau.
Bojan
September 30, 2021
Bisher nichts bewegendes gehört. Der Kurs ist noch im Entstehen begriffen und hat deshalb noch Potential nach oben. Grundsätzlich ist der Kursleiter sympathisch und sehr daran interessiert einem die Lehrinhalte interessant herüberzubringen.
Dennis
August 7, 2021
In einigen Videos (meistens Einleitungen) war der Ton so leise, dass ich trotz Kopfhörer und udemy-AudioSkalierung auf MAX dennoch nicht viel hören konnte. Vom Rest bin ich aber sehr beeindruckt.
Daniel
April 18, 2021
Bisher sehr informativ. Bildet einen guten Einstieg in Go. Definitiv aber nichts für totale "Programmier-Anfänger". Einzig bei jedem "famt" stellen sich mir die Nackenhaare auf. f[or]m[a]t ;) Weiter so. (Bewertung wird nach Abschluss aktualisiert)

Charts

Price

Go - Der Kurs zum Buch - Price chart

Rating

Go - Der Kurs zum Buch - Ratings chart

Enrollment distribution

Go - Der Kurs zum Buch - Distribution chart
3820956
udemy ID
2/2/2021
course created date
2/15/2021
course indexed date
Bot
course submited by