Alcune delle migliori risorse per padroneggiare il Golang

In questo articolo, elencherò alcune delle migliori risorse disponibili su Internet per imparare e padroneggiare il Golang.

Dal momento che ogni utente ha una preferenza per diverse modalità di apprendimento, quindi tratterò articoli basati su testo, tutorial, video e corsi popolari su Golang.

Golang sta crescendo abbastanza rapidamente in termini di popolarità e ti innamorerai di Go una volta che inizi a esplorarlo.

Guida per sviluppatori

Con circa 50.000 studenti, questo è uno dei migliori pacchetti completi per imparare Go dalle basi. Questo corso è altamente testato e funziona bene per la maggior parte degli studenti; una volta acquistato, hai accesso a vita per questo. Se ti piace imparare da corsi video completi, allora questo è esattamente ciò di cui hai bisogno!

Questo corso è l’ideale per i principianti e per chi vuole rivisitare i concetti introduttivi. Il corso prevede 9 ore di video on demand con risorse di codice e incarichi aggiuntivi.

Alcuni degli argomenti trattati in questo corso sono:

  • Configurazione, installazione e nozioni di base della lingua.
  • Pacchetti e strutture di file
  • Variabili, funzioni, array e sezioni
  • Copertura approfondita di mappe, strutture e interfacce
  • Channel e go-routine (programmazione simultanea)

Campo di addestramento

Con oltre 300 lezioni, il completare il corso Bootcamp su Udemy è sicuramente un buon acquisto e il posto giusto per imparare Golang. Impari creando applicazioni come:

  • Analizzatore di log
  • Scanner di file
  • Mascheratore di spam

Insieme a questo, il corso offre oltre 1000 esercizi pratici.

Oltre a coprire i concetti di base di Go come strutture, interfacce e canali, questo corso ha un progetto interessante in cui impari come animare una palla che rimbalza.

Riceverai anche un certificato di completamento alla fine del corso.

Giro di Go

Bene, sono un grande fan della documentazione, dei blog e dei tutorial ufficiali di Golang. Questo corso interattivo è gratuito e non richiede alcuna configurazione locale. Basta aprire il sito Web e iniziare a imparare dalle basi con il codice pratico per ogni argomento.

Questo è un corso con cui dovresti iniziare se stai solo cercando di esplorare e vuoi imparare le basi senza alcuna configurazione.

Vai con l’esempio

Questo non è esattamente un corso completo, piuttosto un punto di riferimento quando dimentichi le basi. Il sito copre tutti i concetti con un testo introduttivo e un esempio completo. Il sito è semplice come potrebbe essere, concentrandosi quindi sull’apprendimento. Alcuni dei post introduttivi di base riguardano:

  • Variabili e costanti
  • Per
  • If/Else e Switch
  • Array e Slice
  • Mappe
  • Gamma
  • Funzioni

e quasi tutti gli argomenti di cui hai bisogno! Fare controlla e aggiungilo ai segnalibri per riferimento.

Impara X in Y minuti

Bene, se vuoi un rapido tour delle nozioni di base, impara X in Y minuti è una risorsa fantastica non solo per Go ma per quasi tutti i linguaggi di programmazione. È guidato dalla comunità e copre molti argomenti in una singola pagina. Contribuisci una volta che diventi bravo in Go.

Ecco un frammento di codice del tutorial, che spiega la programmazione concorrente in una funzione.

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

Così conciso e puntuale, provalo se vuoi una rapida panoramica di argomenti specifici per Golang.

Vai a tempo

Se sei un fan dell’apprendimento audio, Vai a tempo è un buon podcast. Un sacco di fantastici sviluppatori vengono e condividono le loro conoscenze del mondo reale e come usano Go nelle loro aziende. Dovresti anche controllare GopherCon (conferenza Golang) in cui persone di spicco condividono i loro apprendimenti con la comunità.

Queste comunità discutono delle ultime tendenze e dei miglioramenti relativi a Go.

Aggiungerò alcuni dei podcast popolari qui –

Libri

Ci sono molti libri molto belli. Aggiungerò alcuni dei preferiti qui –

Blog

Ci sono alcuni blog piuttosto buoni intorno a Golang. Ci sono anche molti articoli su medium, che puoi esplorare. Ne condividerò alcuni qui che troverai utili –

Youtube

Voglia di apprendimento basato su video?

Certo, dai un’occhiata a questo tutorial Golang per principianti di freeCodeCamp.

Conclusione

Consiglierei di completare uno dei corsi sopra se sei un principiante e unisciti alla comunità Golang. Inoltre, condividi le tue conoscenze con il mondo e contribuisci a rendere Go ancora migliore. Spero che tu abbia imparato qualcosa di utile e tutto il meglio per il tuo viaggio con Go.