
Corso base di programmazione Go
Passi da zero a sviluppatore Go sicuro di sé con un percorso formativo che copre tutto, dalla sintassi e i tipi di dati alla concorrenza, i servizi HTTP e l'analisi delle prestazioni. Questo corso Le offre un'esperienza pratica con gli strumenti, i pattern e i pacchetti della libreria standard che i veri ingegneri Go utilizzano ogni giorno. Che Lei stia sviluppando strumenti CLI, API REST o servizi ad alto throughput, acquisirà le competenze per fornire codice Go di qualità di produzione.
Cosa imparerai:
Configurare un ambiente di sviluppo Go completo e padroneggiare la toolchain CLI principale.
Creare programmi modulari e type-safe utilizzando struct, interfacce e generics di Go.
Progettare sistemi concorrenti con goroutine, channel e l'istruzione select.
Implementare una gestione robusta degli errori, test unitari e benchmark seguendo le best practice di Go.
Costruire e testare server HTTP e API RESTful utilizzando il pacchetto net/http.
Eseguire il profiling e ottimizzare le applicazioni Go per l'efficienza della CPU e un basso overhead di memoria.
Come studi in modo pratico Corso base di programmazione Go
Come metti in pratica Corso base di programmazione Go
Per te che sei un'azienda e vuoi formare il tuo team
Su Dedika per aziende, il corso include esercizi ed esempi personalizzati sul tuo business e secondo le esigenze della tua azienda.
Contenuto del corso
8 Capitoli • 38 LezioniDurata tra 4 e 360 ore (decidi tu)
Capitolo 1NascondiNascondi dettagliVedi dettagliConfigurazione dell'ambiente e della toolchain di Go
Configurazione dell'ambiente e della toolchain di Go
Lezione 1 • Comprendere lo spazio di lavoro di Go
Illustra il layout tradizionale dello spazio di lavoro e la moderna struttura di progetto basata su moduli. Collega le convenzioni delle directory al modo in cui Go risolve i pacchetti.
Lezione 2 • Scelta e configurazione di un editor
Passa in rassegna gli editor e gli IDE più diffusi con supporto per Go e configura le funzionalità del language server. Una strumentazione produttiva accelera l'apprendimento durante l'intero corso.
Lezione 3 • Comandi principali della CLI di Go
Introduce i sottocomandi essenziali del comando go utilizzati quotidianamente. Gli studenti acquisiscono familiarità nell'eseguire, compilare e testare il codice dal terminale.
Lezione 4 • Installare Go sul proprio sistema
Illustra il download e l'installazione della distribuzione Go su Windows, macOS e Linux. Fornisce le basi per tutte le esercitazioni pratiche successive.
Capitolo 2NascondiNascondi dettagliVedi dettagliSintassi di Go e tipi di dati di base
Sintassi di Go e tipi di dati di base
Lezione 1 • Variabili, costanti e valori zero
Tratta le dichiarazioni var, la sintassi abbreviata per le variabili e le costanti tipizzate. Introduce la garanzia del valore zero di Go come meccanismo di sicurezza.
Lezione 2 • Input e output formattati
Insegna i verbi del pacchetto fmt per la stampa e la lettura dell'input utente. Collega la conoscenza della sintassi al comportamento visibile del programma.
Lezione 3 • Conversioni di tipo e Iota
Illustra le regole di conversione esplicita di tipo e l'enumeratore iota per le costanti. Previene i comuni bug di mancata corrispondenza di tipo all'inizio del percorso di apprendimento.
Lezione 4 • Struttura del programma e pacchetti
Esamina l'anatomia di un file sorgente Go, incluse le dichiarazioni di pacchetto e le importazioni. Stabilisce le regole strutturali che ogni programma Go deve seguire.
Lezione 5 • Tipi numerici, booleani e stringhe
Dettaglia le dimensioni degli interi, la precisione in virgola mobile, i booleani e l'immutabilità delle stringhe. Prepara gli studenti a scegliere i tipi appropriati per i dati reali.
Capitolo 3NascondiNascondi dettagliVedi dettagliFlusso di controllo e funzioni
Flusso di controllo e funzioni
Lezione 1 • Defer, Panic e Recover
Introduce le chiamate differite per la pulizia e il meccanismo panic/recover per il contenimento degli errori. Costruisce abitudini di gestione sicura delle risorse fin dall'inizio.
Lezione 2 • Closure e funzioni di ordine superiore
Esplora come le closure catturano le variabili e come le funzioni accettano o restituiscono altre funzioni. Prepara gli studenti ai pattern funzionali utilizzati nelle librerie Go.
Lezione 3 • Cicli e iterazione
Illustra l'unica parola chiave per i cicli in Go, for, e le sue tre forme. Collega i pattern di iterazione all'uso successivo con slice e mappe.
Lezione 4 • Definizione e chiamata di funzioni
Insegna le firme delle funzioni, i valori di ritorno multipli e i ritorni con nome. Stabilisce le convenzioni per le funzioni di Go utilizzate nel resto del corso.
Lezione 5 • Istruzioni condizionali
Tratta if, else e l'istruzione di inizializzazione all'interno delle condizioni if. Dimostra la preferenza di Go per i ritorni anticipati rispetto all'annidamento profondo.
Capitolo 4NascondiNascondi dettagliVedi dettagliTipi compositi: Array, Slice e Mappe
Tipi compositi: Array, Slice e Mappe
Lezione 1 • Array: Collezioni a lunghezza fissa
Definisce la sintassi degli array, la semantica dei valori e i vincoli di dimensione. Confronta gli array con le slice per motivare il motivo per cui le slice dominano il codice Go.
Lezione 2 • Mappe: Archiviazione chiave-valore
Illustra la creazione di mappe, le operazioni CRUD e l'idioma comma-ok. Le mappe sono la struttura dati associativa principale nei programmi Go.
Lezione 3 • Iterare raccolte con Range
Insegna la parola chiave range su slice, array, stringhe e mappe. Rafforza l'iterazione idiomatica di Go introdotta nel capitolo sul flusso di controllo.
Lezione 4 • Slice: Sequenze dinamiche
Tratta gli elementi interni delle slice (puntatore, lunghezza, capacità) e le operazioni comuni. La padronanza delle slice è essenziale per quasi ogni programma Go.
Lezione 5 • Stringhe e manipolazione dei byte
Esplora la conversione da stringa a slice di byte, il pacchetto strings e la gestione UTF-8. Collega la conoscenza dei tipi compositi con attività reali di elaborazione del testo.
Capitolo 5NascondiNascondi dettagliVedi dettagliPuntatori e gestione della memoria
Puntatori e gestione della memoria
Lezione 1 • Pacchetto unsafe e accesso a basso livello
Esamina unsafe.Pointer, Sizeof e Alignof per attività a livello di sistema. Sottolinea quando e perché evitare unsafe nel codice applicativo.
Lezione 2 • Il Garbage Collector di Go
Descrive il GC tricolore mark-and-sweep, la regolazione di GOGC e le pause del GC. Gli studenti imparano a profilare e ridurre la pressione del GC nei programmi di produzione.
Lezione 3 • Allocazione nello stack rispetto allo heap
Illustra come il compilatore decide dove risiedono le variabili utilizzando l'analisi di fuga. Comprendere l'allocazione aiuta gli studenti a scrivere codice a bassa latenza e compatibile con il GC.
Lezione 4 • Fondamenti dei puntatori
Introduce gli operatori di indirizzo e dereferenziazione, i puntatori nil e l'assenza di aritmetica dei puntatori. Costruisce un modello mentale per l'uso sicuro dei puntatori in Go.
Capitolo 6NascondiNascondi dettagliVedi dettagliStruct, Metodi e Interfacce
Struct, Metodi e Interfacce
Lezione 1 • Definizione e uso delle Struct
Tratta la dichiarazione di struct, l'accesso ai campi, l'incorporamento e le struct anonime. Le struct sono il meccanismo principale di Go per raggruppare dati correlati.
Lezione 2 • Composizione anziché ereditarietà
Dimostra come l'incorporamento di struct e interfacce sostituisca l'ereditarietà classica. Gli studenti progettano gerarchie di tipi flessibili e manutenibili senza sottoclassi.
Lezione 3 • Interfacce comuni della libreria standard
Esamina io.Reader, io.Writer, fmt.Stringer e l'interfaccia error. La loro implementazione sblocca un'integrazione perfetta con la libreria standard di Go.
Lezione 4 • Interfacce e implementazione implicita
Illustra la dichiarazione di interfacce, la soddisfazione implicita e il dispatch polimorfico. Le interfacce sono la pietra angolare del modello di estensibilità di Go.
Lezione 5 • Metodi sui tipi
Insegna come associare metodi a tipi con nome utilizzando receiver per valore e per puntatore. Stabilisce le regole di scelta del receiver che influenzano la mutazione e le prestazioni.
Capitolo 7NascondiNascondi dettagliVedi dettagliConcorrenza con Goroutine e Channel
Concorrenza con Goroutine e Channel
Lezione 1 • Stato condiviso e pacchetto sync
Introduce Mutex, RWMutex, Once e le operazioni atomiche per la concorrenza a memoria condivisa. Completa i pattern basati sui channel per sezioni critiche per le prestazioni.
Lezione 2 • Istruzione Select e Timeout
Insegna il multiplexing delle operazioni sui channel con select e l'implementazione dei timeout. Consente programmi concorrenti reattivi che gestiscono più sorgenti di eventi.
Lezione 3 • Pattern di concorrenza comuni
Dimostra worker pool, pipeline e architetture fan-out/fan-in. Gli studenti applicano le primitive a progetti reali di carichi di lavoro concorrenti.
Lezione 4 • Channel: Condotti di comunicazione tipizzati
Tratta i channel non bufferizzati e bufferizzati, i tipi direzionali e la semantica di chiusura. I channel sono lo strumento principale di Go per la condivisione sicura dei dati tra goroutine.
Lezione 5 • Goroutine e lo Scheduler di Go
Illustra la creazione di goroutine, lo scheduler M:N e GOMAXPROCS. Stabilisce il modello mentale necessario per ragionare sull'esecuzione concorrente.
Capitolo 8NascondiNascondi dettagliVedi dettagliGestione degli errori, Test e Moduli
Gestione degli errori, Test e Moduli
Lezione 1 • Test unitari con il pacchetto testing
Introduce le funzioni di test, i test table-driven e i subtest. I test automatizzati sono il principale controllo di qualità per i progetti Go.
Lezione 2 • Gestione idiomatica degli errori
Tratta l'interfaccia error, gli errori sentinella e i tipi di errore personalizzati. La gestione idiomatica degli errori è centrale nella filosofia di affidabilità di Go.
Lezione 3 • Pacchetto Context per l'annullamento
Insegna context.Background, WithCancel, WithTimeout e la propagazione dei valori. Context è il meccanismo standard per le scadenze e l'annullamento attraverso i confini delle API.
Lezione 4 • Moduli Go e gestione delle dipendenze
Illustra go.mod, go.sum, il versionamento e il proxy dei moduli. Build riproducibili dipendono da una corretta configurazione del modulo.
Lezione 5 • Benchmark e copertura del codice
Tratta le funzioni benchmark, i cicli b.N e i report di copertura. Le baseline di prestazioni e le metriche di copertura guidano le decisioni di ottimizzazione e qualità.
Il tuo certificato valido di completamento
Questo corso è per te:
Sviluppatore Python o JavaScript curioso di conoscere linguaggi compilati e a tipizzazione statica.
Ingegnere backend che desidera un'alternativa più veloce ed efficiente al proprio stack attuale.
Professionista DevOps che desidera scrivere strumenti personalizzati e script di automazione in Go.
Studente di informatica desideroso di apprendere il pensiero a livello di sistema attraverso un linguaggio moderno.
Sviluppatore freelance che mira ad espandere la propria offerta di servizi con backend basati su Go.
Persona in fase di cambiamento di carriera proveniente da un settore non software che ha appreso i fondamenti di base della programmazione.
Cosa dicono i nostri studenti
Le sue lezioni sono perfette. Ho acquistato il pacchetto annuale e finalmente ho l'opportunità di seguire diversi argomenti di mio interesse senza dover cambiare piattaforma... vi ringrazio per tutto quello che fate, vi ho già raccomandati ad altre persone...

Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.

Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!

La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.

Principali percorsi formativi
FAQ
Chi è Dedika?
Il certificato è valido in Italia?
I corsi sono gratuiti?
Qual è il carico di lavoro del corso?
Come sono strutturati i corsi?
Come funzionano i corsi?
Qual è la durata dei corsi?
Qual è il costo o il prezzo dei corsi?
Cos’è un corso EAD o online e come funziona?
Corso PDF




















