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)
Gli esercizi pratici che sono stati 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 è cambiata dalla sua data di rilascio originale.
Brandon - DuosTechnologies, Inc.
Corso - Go Programming Language for Programmers
Traduzione automatica
Il livello di dettaglio dei meccanismi del perché e del come qualcosa ha funzionato è stato utile. Ho anche apprezzato molto il fatto di avere il repo da tirare quel giorno in modo da potermi concentrare sull'osservazione di ciò che stava spiegando.
Sara - DuosTechnologies, Inc.
Corso - Go Programming Language for Programmers
Traduzione automatica
The didactic way of presenting
Ivo Abdul - CEDSIF Ministry of Finance
Corso - Go Programming Language for Programmers
Concepts of range, slice, swaps,...
Edmundo Manave - CEDSIF Ministry of Finance
Corso - Go Programming Language for Programmers
The simplicity of language and the examples given by the teacher