Některé z nejlepších zdrojů pro zvládnutí Golangu

V tomto článku uvedu seznam některých nejlepších zdrojů dostupných na internetu pro výuku a zvládnutí Golangu.

Protože každý uživatel upřednostňuje různé způsoby učení, budu se věnovat textovým článkům, návodům, videím a oblíbeným kurzům kolem Golangu.

Golang roste poměrně rychle, pokud jde o popularitu, a Golang si zamilujete, jakmile jej začnete zkoumat.

Příručka pro vývojáře

S přibližně 50 tisíci studenty je to jeden z nejlepších kompletních balíčků pro výuku Go od základů. Tento kurz je vysoce testován a funguje dobře pro většinu studentů; po nákupu k tomu máte doživotní přístup. Pokud se rádi učíte z kompletních video kurzů, pak je to přesně to, co potřebujete!

Tento kurs je ideální pro začátečníky a pro lidi, kteří se chtějí vrátit k úvodnímu konceptu. Kurz má 9 hodin videa na vyžádání s dalšími zdroji kódu a úkoly.

Některá z témat obsažených v tomto kurzu jsou –

  • Nastavení, instalace a základy jazyka.
  • Balíčky a struktury souborů
  • Proměnné, funkce, pole a řezy
  • Hloubkové pokrytí map, struktur a rozhraní
  • Kanál a go-rutiny (souběžné programování)

Bootcamp

S více než 300 přednáškami, kompletní Bootcamp kurz na Udemy je rozhodně dobrá koupě a správné místo, kde se naučit Golang. Učíte se vytvářením aplikací jako –

  • Analyzátor protokolu
  • Skener souborů
  • Maskovač spamu

Kromě toho kurz nabízí více než 1000+ praktických cvičení.

Kromě základních pojmů Go like struktur, rozhraní a kanálů má tento kurz zajímavý projekt, kde se naučíte animovat skákající míč.

Na konci kurzu také obdržíte certifikát o absolvování.

Prohlídka Go

No, jsem velkým fanouškem oficiální dokumentace Golang, blogů a návodů. Tento interaktivní kurz je zdarma a nevyžaduje žádné místní nastavení. Stačí otevřít web a začít se učit od základů pomocí praktického kódu pro každé téma.

Toto je kurz, kterým byste měli začít, pokud se chcete jen prozkoumat a chcete se naučit základy bez jakéhokoli nastavování.

Jděte příkladem

Nejedná se o úplný kurz, spíše o místo, kde zapomenete základy. Stránka pokrývá všechny koncepty s úvodním textem a úplným běžícím příkladem. Stránka je tak jednoduchá, jak jen může být, a proto se zaměřuje na učení. Některé ze základních úvodních příspěvků jsou o –

  • Proměnné a konstanty
  • Pro
  • If/Else a Switch
  • Pole a řezy
  • Mapy
  • Rozsah
  • Funkce

a téměř všechna témata, která potřebujete! Dělat Koukni na to a uložte si jej pro referenci.

Naučte se X za Y minut

No, pokud chcete rychlou prohlídku základů, naučit se X za Y minut je úžasným zdrojem nejen pro Go, ale pro téměř každý programovací jazyk. Je řízen komunitou a pokrývá mnoho témat na jedné stránce. Jakmile budete v Go dobří, přispějte zpět.

Zde je úryvek kódu z tutoriálu, který vysvětluje souběžné programování v jedné funkci.

// 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.
}

Tak stručné a výstižné, zkuste to, pokud chcete rychlý přehled o jakýchkoli konkrétních tématech pro Golang.

Gotime

Pokud jste fanouškem audio učení, Gotime je dobrý podcast. Mnoho úžasných vývojářů přichází a sdílí své znalosti z reálného světa a jak používají Go ve svých společnostech. Měli byste se také podívat na GopherCon (golangová konference), na které prominentní lidé sdílejí své poznatky s komunitou.

Tyto komunity diskutují o nejnovějších trendech a vylepšeních kolem Go.

Zde přidám některé oblíbené podcasty –

knihy

Existuje spousta velmi dobrých knih. Zde přidám některé z oblíbených –

Blogy

V okolí Golangu je několik docela dobrých blogů. Existuje také mnoho článků na médiu, které můžete prozkoumat. Podělím se zde o několik, které se vám budou hodit –

Youtube

Máte rádi videoučení?

Jistě, podívejte se na tento tutoriál Golang pro začátečníky od freeCodeCamp.

Závěr

Doporučuji absolvovat některý z výše uvedených kurzů, pokud jste začátečník a připojíte se ke komunitě Golang. Podělte se také o své poznatky se světem a přispějte k tomu, aby byla Go ještě lepší. Doufám, že jste se naučili něco užitečného a vše nejlepší na vaší cestě s Go.