Scegli la tua lingua
Corso base di programmazione Go
Più di 2 milioni di studenti in tutto il mondo

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.

Dedika per aziende

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.

Clicca qui

Contenuto del corso

8 Capitoli • 38 LezioniDurata tra 4 e 360 ore (decidi tu)

Capitolo 1Vedi dettagli

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 2Vedi dettagli

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 3Vedi dettagli

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 4Vedi dettagli

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 5Vedi dettagli

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 6Vedi dettagli

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 7Vedi dettagli

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 8Vedi dettagli

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à.

Certificazione

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...
Giulio Carlo
Giulio CarloStudente di Marketing Digitale
Mi piace come le lezioni vanno dritte al punto e come riesco a cambiare capitoli e saltare contenuti di cui non ho bisogno.
Mariana Ferres
Mariana FerresStudentessa di Fotografia
Mi piace il contenuto e il modo di presentazione e trascrizione dei video, che accelera il processo!
Luciana Alvarenga
Luciana AlvarengaStudentessa di Nail Design
La piattaforma è veloce, semplice da usare. La diversità dei contenuti e i video complementari aiutano molto nell'apprendimento.
André Felipe
André FelipeStudente di Prompt Engineering

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