Struttura del corso
Go in Contesto: Un Confronto
- Go vs Java, Python, C e altri
- Principali filosofie di progettazione di Go
- Quando (e quando non) usare Go
Concetti Fondamentali della Lingua
- Configurazione di un ambiente di sviluppo per Go
- Variabili, costanti e tipi
- Funzioni e più valori di ritorno
- Strutture di controllo: if, switch, for
- Array, slice e map
- Structs ed embedding
- Metodi e interfacce
- Comprendere i puntatori in Go
- Idiomi e pattern di gestione degli errori
Concorrenza in Go
- Goroutines e lo scheduler del runtime di Go
- Canali e passaggio di messaggi
- Istruzioni select
- Pattern di concorrenza (fan-out, fan-in, worker pools)
- Sincronizzazione (WaitGroups, Mutexes)
Utilizzo dei Pacchetti Standard e Comuni
- Lavoro con i pacchetti fmt, strings, time e math
- I/O di file con os e io/ioutil
- Clienti HTTP e server con net/http
- Parsing e codifica JSON
Organizzazione del Progetto e Moduli Go
- Uso di moduli Go per la gestione delle dipendenze
- Organizzazione dei pacchetti e file
- Costruzione ed installazione di applicazioni Go
Strumenti Go
- Uso di gofmt e go vet per il formattamento del codice e l'analisi statica
- Esecuzione ed scrittura di test unitari con go test
- Benchmarking e profilatura con go test -bench e pprof
- Debugging con Delve (opzionale)
Riepilogo e Passaggi Successivi
- Buone prassi per lo sviluppo in Go
- Panoramica sui framework web di Go ed ecologia di programmazione
- Risorse per la continua formazione
Requisiti
- Conoscenza di un linguaggio di programmazione (ad esempio C, Java, Python, PHP, ecc.).
- Questo corso non spiega concetti base come i cicli o le if-statement — si concentra sul modo in cui questi vengono implementati in Go.
Pubblico di riferimento
- Sviluppatori software familiarizzati con altri linguaggi di programmazione
- Sviluppatori backend in transizione verso Go
- Inglesi che lavorano su applicazioni nativamente in cloud o critiche per le prestazioni
Recensioni (6)
Le esercitazioni pratiche che erano davvero divertenti.
Jurgen Cruz - Focus Engineering SRL
Corso - Go Programming Language for Programmers
Traduzione automatica
Il Formatore conosceva concetti linguistici di nicchia e aveva una prospettiva storica su come la lingua sia cambiata dal suo rilascio originale.
Brandon - DuosTechnologies, Inc.
Corso - Go Programming Language for Programmers
Traduzione automatica
Il livello di dettaglio sulla meccanica del perché e come qualcosa funzionava era molto utile. Ho anche apprezzato molto avere il repository da clonare durante la giornata, in modo da potermi concentrare su ciò che stava spiegando.
Sara - DuosTechnologies, Inc.
Corso - Go Programming Language for Programmers
Traduzione automatica
Il modo didattico di presentare
Ivo Abdul - CEDSIF Ministry of Finance
Corso - Go Programming Language for Programmers
Traduzione automatica
Concetti di intervallo, segmento, scambi,...
Edmundo Manave - CEDSIF Ministry of Finance
Corso - Go Programming Language for Programmers
Traduzione automatica
La semplicità del linguaggio e gli esempi forniti dall'insegnante
Alvaro Salomao Rumbane - CEDSIF Ministry of Finance
Corso - Go Programming Language for Programmers
Traduzione automatica