Einige der besten Ressourcen zum Beherrschen von Golang

Umfassende Ressourcen zum Erlernen von Golang

In diesem Beitrag stelle ich eine Auswahl der besten Online-Ressourcen vor, die dir dabei helfen, Golang zu lernen und zu meistern.

Da jeder Lernende unterschiedliche Vorlieben hat, decke ich textbasierte Artikel, Tutorials, Videos und populäre Kurse rund um Golang ab.

Golang erfreut sich immer größerer Beliebtheit, und es wird dich wahrscheinlich begeistern, sobald du beginnst, es zu erkunden.

Entwickler-Handbuch für Go

Mit ungefähr 50.000 Teilnehmern ist dies eines der umfassendsten Pakete, um Go von Grund auf zu lernen. Dieser Kurs ist sehr bewährt und hat sich für die meisten Lernenden als effektiv erwiesen. Nach dem Kauf erhältst du lebenslangen Zugriff. Wenn du bevorzugst, aus vollständigen Videokursen zu lernen, dann ist dies genau das Richtige für dich!

Dieser Kurs ist sowohl für Anfänger als auch für Personen geeignet, die ihre Grundkenntnisse auffrischen möchten. Er umfasst 9 Stunden On-Demand-Videomaterial sowie zusätzliche Code-Ressourcen und Aufgaben.

Einige der im Kurs behandelten Themen sind:

  • Einrichtung, Installation und Grundlagen der Sprache
  • Pakete und Dateistrukturen
  • Variablen, Funktionen, Arrays und Slices
  • Detaillierte Behandlung von Maps, Strukturen und Interfaces
  • Channel und Go-Routinen (parallele Programmierung)

Go Bootcamp

Der vollständige Bootcamp-Kurs auf Udemy mit über 300 Lektionen ist definitiv eine lohnende Investition und der ideale Ort, um Golang zu erlernen. Du wirst anhand von Anwendungsentwicklungen wie den folgenden lernen:

  • Log-Parser
  • Datei-Scanner
  • Spam-Maskierer

Darüber hinaus bietet der Kurs über 1000 praktische Übungen.

Neben den grundlegenden Go-Konzepten wie Strukturen, Interfaces und Channels enthält der Kurs auch ein interessantes Projekt, in dem du lernst, wie man einen hüpfenden Ball animiert.

Am Ende des Kurses erhältst du außerdem ein Abschlusszertifikat.

Go-Tour

Ich bin ein großer Befürworter der offiziellen Golang-Dokumentation, -Blogs und -Tutorials. Dieser interaktive Kurs ist kostenlos und erfordert keine lokale Einrichtung. Du kannst einfach die Website öffnen und von den Grundlagen mit praktischem Code für jedes Thema lernen.

Dies ist ein guter Startpunkt, wenn du nur die Grundlagen erkunden und ohne jegliche Einrichtung lernen möchtest.

Go by Example

Dies ist nicht wirklich ein vollständiger Kurs, sondern eher eine Anlaufstelle, wenn du die Grundlagen vergessen hast. Die Website behandelt alle Konzepte mit einer einleitenden Beschreibung und einem vollständigen Beispiel. Die Seite ist so einfach wie möglich gehalten und konzentriert sich auf das Lernen. Einige der grundlegenden Einführungsbeiträge behandeln Themen wie:

  • Variablen und Konstanten
  • Schleifen
  • If/Else-Anweisungen und Switch-Anweisungen
  • Arrays und Slices
  • Maps
  • Range
  • Funktionen

Und fast alle Themen, die du brauchst! Schau mal hier vorbei und setze es dir als Lesezeichen für zukünftige Referenz.

Lerne X in Y Minuten

Wenn du eine schnelle Einführung in die Grundlagen suchst, ist Lerne X in Y Minuten eine ausgezeichnete Ressource, nicht nur für Go, sondern für fast jede Programmiersprache. Es ist Community-gesteuert und deckt viele Themen auf einer einzigen Seite ab. Werde selbst zum Mitwirkenden, sobald du Go beherrschst.

Hier ist ein Code-Snippet aus dem Tutorial, das die parallele Programmierung in einer Funktion erläutert:

// We'll use inc to increment some numbers concurrently.
func learnConcurrency() {
    // Same make function used earlier to make a slice. Make allocates and
    // initializes slices, maps, and channels.
    c := make(chan int)
    // Start three concurrent goroutines. Numbers will be incremented
    // concurrently, perhaps in parallel if the machine is capable and
    // properly configured. All three send to the same channel.
    go inc(0, c) // go is a statement that starts a new goroutine.
    go inc(10, c)
    go inc(-805, c)
    // Read three results from the channel and print them out.
    // There is no telling in what order the results will arrive!
    fmt.Println(<-c, <-c, <-c) // channel on right, <- is "receive" operator.

    cs := make(chan string)       // Another channel, this one handles strings.
    ccs := make(chan chan string) // A channel of string channels.
    go func() { c <- 84 }()       // Start a new goroutine just to send a value.
    go func() { cs <- "wordy" }() // Again, for cs this time.
    // Select has syntax like a switch statement but each case involves
    // a channel operation. It selects a case at random out of the cases
    // that are ready to communicate.
    select {
    case i := <-c: // The value received can be assigned to a variable,
        fmt.Printf("it's a %T", i)
    case <-cs: // or the value received can be discarded.
        fmt.Println("it's a string")
    case <-ccs: // Empty channel, not ready for communication.
        fmt.Println("didn't happen.")
    }
    // At this point a value was taken from either c or cs. One of the two
    // goroutines started above has completed, the other will remain blocked.

    learnWebProgramming() // Go does it. You want to do it too.
}

So prägnant und auf den Punkt gebracht – probiere es aus, wenn du eine schnelle Übersicht zu bestimmten Golang-Themen benötigst.

Go Time

Wenn du ein Fan von Audio-Lernen bist, ist Go Time ein großartiger Podcast. Viele talentierte Entwickler kommen zusammen und teilen ihr Wissen aus der Praxis und darüber, wie sie Go in ihren Unternehmen einsetzen. Es lohnt sich auch, die GopherCon (Golang-Konferenz) zu besuchen, wo prominente Persönlichkeiten ihre Einsichten mit der Community teilen.

Diese Communitys diskutieren die neuesten Trends und Fortschritte rund um Go.

Ich werde hier noch einige der populären Podcasts hinzufügen:

Bücher

Es gibt viele sehr gute Bücher. Hier sind einige meiner Favoriten:

Blogs

Es gibt einige ziemlich gute Blogs zum Thema Golang. Auch auf Medium finden sich viele Artikel, die du erkunden kannst. Hier sind ein paar, die du nützlich finden könntest:

YouTube

Lust auf videobasiertes Lernen?

Dann solltest du dir dieses Golang-Tutorial für Anfänger von freeCodeCamp ansehen.

Fazit

Ich empfehle, einen der oben genannten Kurse zu absolvieren, wenn du Anfänger bist und der Golang-Community beitreten möchtest. Teile auch deine Erfahrungen mit der Welt und hilf dabei, Go noch besser zu machen. Ich hoffe, du hast etwas Nützliches gelernt und wünsche dir alles Gute auf deiner Reise mit Go.