
Corso base di programmazione Go
Padroneggi Go partendo da zero — dalla configurazione della toolchain e della sintassi di base fino alla concorrenza, al testing e all'ottimizzazione delle prestazioni. Questo corso completo fornisce agli sviluppatori le competenze pratiche per scrivere codice Go pulito e pronto per la produzione. Che Lei stia costruendo strumenti CLI, servizi concorrenti o librerie riutilizzabili, al termine avrà la sicurezza di distribuire software reale.
Cosa imparerai:
Configuri un ambiente di sviluppo Go professionale e padroneggi la toolchain principale.
Crei programmi concorrenti utilizzando goroutine, canali e primitive di sincronizzazione.
Progetti API flessibili con il sistema di interfacce di Go e il modello di soddisfazione implicita.
Gestisca gli errori in modo idiomatico utilizzando tipi personalizzati, wrapping e propagazione strutturata.
Organizzi le codebase in moduli versionati con pratiche pulite di gestione delle dipendenze.
Verifichi e ottimizzi la qualità del codice attraverso test unitari, benchmark e strumenti di profiling.
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 • 40 LezioniDurata tra 4 e 360 ore (decidi tu)
Capitolo 1NascondiNascondi dettagliVedi dettagliAmbiente Go e fondamenti del linguaggio
Ambiente Go e fondamenti del linguaggio
Lezione 1 • Installazione e configurazione di Go
Tratta l'installazione di Go, la struttura dell'area di lavoro e la configurazione della toolchain. Fornisce le basi operative da cui dipendono tutti i capitoli successivi.
Lezione 2 • Operatori ed espressioni
Tratta gli operatori aritmetici, di confronto, logici e bitwise. Gli studenti acquisiranno la capacità di costruire espressioni corrette in qualsiasi contesto Go.
Lezione 3 • Variabili, costanti e tipi di dato
Insegna gli stili di dichiarazione delle variabili, i valori zero e i tipi primitivi incorporati. Costruisce la consapevolezza dei tipi richiesta per ogni successiva attività di codifica.
Lezione 4 • Utilizzo della toolchain Go
Esplora i comandi go build, go fmt, go vet e go doc. Fornisce agli studenti gli strumenti del flusso di lavoro quotidiano utilizzati nello sviluppo Go professionale.
Lezione 5 • Struttura e sintassi del programma Go
Introduce le dichiarazioni di pacchetto, le istruzioni import e il punto di ingresso main. Stabilisce le regole strutturali che tutti i file sorgente Go devono seguire.
Capitolo 2NascondiNascondi dettagliVedi dettagliFlusso di controllo e funzioni
Flusso di controllo e funzioni
Lezione 1 • Definizione e chiamata di funzioni
Introduce le firme delle funzioni, i parametri e i valori di ritorno. Stabilisce il blocco fondamentale per il codice Go modulare utilizzato in tutto il corso.
Lezione 2 • Cicli e iterazione
Tratta il ciclo for in tutte le sue forme, inclusa l'iterazione basata su range. Fornisce gli strumenti di iterazione necessari per elaborare collezioni e flussi.
Lezione 3 • Defer, panic e recover
Spiega le chiamate differite, la propagazione del panic e i pattern di recovery. Gli studenti apprendono l'approccio idiomatico di Go per la pulizia delle risorse e il contenimento degli errori.
Lezione 4 • Funzioni di prima classe e chiusure
Considera le funzioni come valori, trattando funzioni anonime e chiusure. Prepara gli studenti ai pattern di ordine superiore utilizzati nei capitoli successivi.
Lezione 5 • Istruzioni condizionali
Insegna i costrutti if, else if, else e switch con le specificità idiomatiche di Go. Abilita la logica di ramificazione essenziale per tutti i programmi reali.
Capitolo 3NascondiNascondi dettagliVedi dettagliTipi compositi: array, slice e map
Tipi compositi: array, slice e map
Lezione 1 • Array in Go
Tratta la dichiarazione di array a lunghezza fissa, l'indicizzazione e la semantica di valore. Stabilisce il modello di memoria che è alla base del comportamento delle slice nelle sezioni successive.
Lezione 2 • Pattern comuni con le slice
Dimostra modi idiomatici di filtraggio, deduplicazione e modifica in-place. Costruisce un insieme pratico di strumenti per la manipolazione delle slice, utilizzato in codebase reali.
Lezione 3 • Slice: meccanismi interni e operazioni
Spiega l'header delle slice, gli array sottostanti e il comportamento di crescita. La padronanza di questi argomenti previene bug comuni nella manipolazione dei dati durante il corso.
Lezione 4 • Struct come record compositi
Introduce la dichiarazione di struct, l'accesso ai campi, l'incorporamento e i campi anonimi. Pone le basi per il sistema di tipi esplorato nel prossimo capitolo.
Lezione 5 • Map: creazione e utilizzo
Insegna i letterali map, make, la ricerca, l'inserimento e l'eliminazione. Fornisce le basi per l'archivio chiave-valore nei pattern di configurazione e caching.
Capitolo 4NascondiNascondi dettagliVedi dettagliPacchetti, moduli e gestione delle dipendenze
Pacchetti, moduli e gestione delle dipendenze
Lezione 1 • Aggiunta e gestione delle dipendenze
Insegna go get, go mod tidy e la selezione delle versioni delle dipendenze. Gli studenti mantengono grafi di dipendenze puliti e riproducibili in progetti reali.
Lezione 2 • Pubblicazione e versionamento dei moduli
Spiega il tagging dei rilasci, i suffissi di versione maggiore e i proxy dei moduli. Prepara gli studenti a condividere librerie riutilizzabili con l'ecosistema Go.
Lezione 3 • Moduli Go e go.mod
Spiega l'inizializzazione del modulo, il file go.mod e il versionamento semantico. Stabilisce il contratto di dipendenza che governa tutti i progetti Go moderni.
Lezione 4 • Principi di organizzazione dei pacchetti
Tratta la denominazione dei pacchetti, gli identificatori esportati e non esportati e la coesione. Guida gli studenti verso strutture di pacchetto che scalano con la dimensione del progetto.
Lezione 5 • Progettazione di pacchetti interni e testabili
Tratta la convenzione del pacchetto internal e i pacchetti di solo test. Abilita strategie di incapsulamento che proteggono i dettagli implementativi.
Capitolo 5NascondiNascondi dettagliVedi dettagliIl sistema di tipi di Go: interfacce e metodi
Il sistema di tipi di Go: interfacce e metodi
Lezione 1 • Metodi sui tipi
Tratta i ricevitori di valore e puntatore, i set di metodi e la promozione tramite incorporamento. Stabilisce come il comportamento viene associato ai tipi in Go.
Lezione 2 • Best practice per la progettazione delle interfacce
Tratta le interfacce piccole, il principio accetta interfacce/restituisci concreti e l'inquinamento da interfacce. Guida gli studenti verso confini API manutenibili e testabili.
Lezione 3 • Interfacce della libreria standard
Esamina le interfacce io.Reader, io.Writer, fmt.Stringer ed error. Collega la teoria delle interfacce a quelle che gli studenti incontrano quotidianamente.
Lezione 4 • Asserzioni di tipo e switch di tipo
Insegna le asserzioni di tipo sicure e non sicure e l'inoltro con switch di tipo. Abilita l'ispezione dei tipi a runtime necessaria per i pattern di gestori generici.
Lezione 5 • Definizione e implementazione di interfacce
Spiega le dichiarazioni di interfaccia, la soddisfazione implicita e l'interfaccia vuota. Gli studenti imparano a scrivere codice che dipende dal comportamento, non da tipi concreti.
Capitolo 6NascondiNascondi dettagliVedi dettagliGestione degli errori e codice robusto
Gestione degli errori e codice robusto
Lezione 1 • Basi di logging e osservabilità
Introduce il logging strutturato con i pacchetti log e log/slog. Collega la gestione degli errori alla visibilità operativa nei sistemi in produzione.
Lezione 2 • Wrapping e unwrapping degli errori
Tratta le catene di errori, errors.Is, errors.As e gli alberi di unwrap. Gli studenti imparano a ispezionare gli errori stratificati senza rompere l'incapsulamento.
Lezione 3 • Pattern di panic e recover
Rivisita panic e recover nel contesto della sicurezza ai confini delle librerie. Gli studenti sanno quando convertire i panic in errori alle superfici dell'API.
Lezione 4 • Il modello di errore in Go
Spiega l'interfaccia error, i controlli nil e la propagazione idiomatica degli errori. Stabilisce il modello mentale che governa ogni gestione degli errori in Go.
Lezione 5 • Tipi di errore personalizzati
Insegna gli errori basati su struct, l'arricchimento del contesto e il metodo Unwrap. Abilita informazioni di errore ricche per il debug e la gestione programmatica.
Capitolo 7NascondiNascondi dettagliVedi dettagliConcorrenza con goroutine e channel
Concorrenza con goroutine e channel
Lezione 1 • Sincronizzazione con il pacchetto sync
Tratta Mutex, RWMutex, WaitGroup e Once per la sicurezza dello stato condiviso. Complementa la concorrenza basata su channel per scenari che richiedono memoria condivisa.
Lezione 2 • Goroutine e lo scheduler di Go
Spiega la creazione di goroutine, lo scheduler M:N e il ciclo di vita delle goroutine. Fornisce il modello concettuale necessario per ragionare sull'esecuzione concorrente.
Lezione 3 • Pattern di concorrenza comuni
Dimostra pool di worker, pipeline e architetture fan-out/fan-in. Gli studenti applicano questi pattern per costruire programmi concorrenti scalabili.
Lezione 4 • Istruzione select e multiplazione
Insegna l'istruzione select per la multiplazione delle operazioni sui channel. Abilita i pattern di timeout, cancellazione e fan-in utilizzati nei servizi in produzione.
Lezione 5 • Channel: comunicazione tra goroutine
Tratta i channel bufferizzati e non bufferizzati, la semantica di invio/ricezione e la chiusura. Stabilisce il meccanismo di comunicazione primario nella concorrenza Go.
Capitolo 8NascondiNascondi dettagliVedi dettagliTest, benchmarking e qualità del codice
Test, benchmarking e qualità del codice
Lezione 1 • Helper di test e fixture di test
Insegna le funzioni helper, TestMain e la configurazione di risorse temporanee. Riduce il boilerplate e migliora la leggibilità dei test in suite di test ampie.
Lezione 2 • Benchmarking e profilazione
Tratta le funzioni benchmark, i cicli B.N e l'integrazione con pprof. Gli studenti identificano ed eliminano i colli di bottiglia delle prestazioni con prove basate sui dati.
Lezione 3 • Scrittura di unit test con il pacchetto testing
Tratta le convenzioni per i file di test, T.Error, T.Fatal e i sotto-test. Stabilisce la disciplina di test di base richiesta per tutti i progetti Go.
Lezione 4 • Copertura del codice e controlli di qualità
Spiega i report di copertura, go test -cover e l'integrazione con i linter. Collega il test alle pipeline di integrazione continua per l'applicazione automatizzata della qualità.
Lezione 5 • Mocking e test basati su interfacce
Dimostra mock manuali, implementazioni stub e iniezione delle dipendenze. Abilita unit test isolati per codice con dipendenze esterne.
Il tuo certificato valido di completamento
Questo corso è per te:
Sviluppatore backend: desidera aggiungere Go a un insieme di competenze professionali multi-linguaggio.
Programmatore Python o JavaScript: pronto a esplorare un linguaggio di sistema a tipizzazione statica.
Studente di informatica: cerca esperienza pratica al di là dei compiti dei corsi accademici.
Ingegnere DevOps: ha necessità di leggere, modificare o scrivere strumenti Go nei flussi di lavoro quotidiani.
Persona in cambiamento di carriera: in transizione verso lo sviluppo software con un linguaggio moderno e strutturato.
Programmatore hobbista: desidera realizzare strumenti veloci e auto-consistenti per progetti personali.
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




















