În acest material, vă voi prezenta o selecție de resurse excelente disponibile online, menite să faciliteze învățarea și aprofundarea limbajului Golang.
Având în vedere că fiecare persoană are preferințe distincte în ceea ce privește metodele de învățare, voi include o varietate de materiale, de la articole textuale la tutoriale, videoclipuri și cursuri populare despre Golang.
Popularitatea Golang este în continuă ascensiune, și sunt convins că veți deveni pasionat de acest limbaj odată ce veți începe să-l explorați.
Ghidul Dezvoltatorului
Acest curs, frecventat de aproximativ 50.000 de cursanți, reprezintă un pachet cuprinzător ideal pentru a învăța Go de la elementele fundamentale. Este un curs bine testat, eficient pentru majoritatea studenților. Odată achiziționat, accesul este nelimitat. Dacă preferați învățarea prin intermediul cursurilor video exhaustive, acesta este exact ceea ce vă trebuie!
Acest curs este perfect pentru începători, dar și pentru cei care doresc să își reîmprospăteze cunoștințele de bază. Cursul include 9 ore de material video la cerere, împreună cu resurse suplimentare de cod și exerciții practice.
Printre subiectele acoperite de acest curs se numără:
- Configurarea, instalarea și elementele de bază ale limbajului.
- Pachete și structura fișierelor.
- Variabile, funcții, array-uri și slice-uri.
- O analiză detaliată a map-urilor, structurilor și interfețelor.
- Canale și gorutine (programare concurentă).
Bootcamp
Cu peste 300 de prelegeri, cursul complet Bootcamp de pe Udemy este o investiție valoroasă și un loc ideal pentru a învăța Golang. Veți învăța prin construirea unor aplicații precum:
- Un analizator de jurnale.
- Un scanner de fișiere.
- Un filtru de spam.
În plus, cursul oferă peste 1000 de exerciții practice.
Pe lângă acoperirea conceptelor fundamentale ale limbajului Go, cum ar fi structurile, interfețele și canalele, acest curs include un proiect interactiv în care veți învăța cum să animați o minge sărind.
La finalizarea cursului, veți primi un certificat de absolvire.
Turul Go
Sunt un mare susținător al documentației, blogurilor și tutorialelor oficiale Golang. Acest curs interactiv este gratuit și nu necesită nicio instalare locală. Pur și simplu accesați site-ul și începeți să învățați de la bază, utilizând exemple practice de cod pentru fiecare subiect.
Acesta este un punct de plecare excelent dacă sunteți interesat să explorați și să învățați elementele fundamentale fără a fi nevoie de nicio configurație prealabilă.

Go prin Exemple
Acest site nu este un curs complet, ci mai degrabă un punct de referință util atunci când uitați elementele de bază. Site-ul acoperă toate conceptele, oferind o descriere introductivă și un exemplu complet de cod rulabil. Site-ul este minimalist, concentrându-se pe învățare. Câteva dintre subiectele introductive de bază includ:
- Variabile și constante.
- Buclele For.
- Instrucțiunile If/Else și Switch.
- Array-uri și slice-uri.
- Map-uri.
- Range.
- Funcții.
și practic toate subiectele de care ați putea avea nevoie! Verificați-l și salvați-l pentru referință.
Învață X în Y minute
Dacă sunteți în căutarea unei prezentări rapide a elementelor de bază, Învăță X în Y minute este o resursă valoroasă nu numai pentru Go, ci și pentru aproape orice limbaj de programare. Este susținută de comunitate și acoperă o mulțime de subiecte pe o singură pagină. Contribuiți la acest proiect odată ce vă perfecționați abilitățile în Go.
Iată un fragment de cod din tutorial, care explică programarea concurentă într-o singură funcție.
// 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.
}
Așadar, concis și la obiect, încercați-l dacă doriți o privire rapidă asupra unor subiecte specifice din Golang.
Gotime
Dacă preferați să învățați prin intermediul materialelor audio, Gotime este un podcast excelent. Mulți dezvoltatori de top vin și împărtășesc experiențele lor reale și modul în care utilizează Go în companiile lor. De asemenea, ar trebui să verificați GopherCon (conferința golang), unde experții din domeniu își prezintă cunoștințele comunității.
Aceste comunități discută despre cele mai recente tendințe și îmbunătățiri ale limbajului Go.
Voi adăuga aici câteva dintre podcasturile populare:
Cărți
Există numeroase cărți de calitate despre Golang. Voi include aici câteva dintre favoritele mele:
Bloguri
Există o mulțime de bloguri excelente despre Golang. De asemenea, puteți găsi numeroase articole pe diverse platforme. Iată câteva pe care le-ați putea considera utile:
YouTube
Preferi învățarea prin intermediul materialelor video?
Atunci, vă recomand să consultați tutorialul Golang pentru începători oferit de freeCodeCamp.

Concluzie
Recomand începătorilor să parcurgă unul dintre cursurile menționate mai sus și să se alăture comunității Golang. Împărtășiți cunoștințele dobândite cu ceilalți și contribuiți la evoluția limbajului Go. Sper că ați găsit aceste informații utile și vă doresc mult succes în călătoria voastră în lumea Golang.