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.
Table of Contents
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.