Corso Go-golang
Il linguaggio GO o Golang è un linguaggio di programmazione open-source realizzato da Google diffusosi di recente.
Nasce nel 2007 dal confronto di tre dipendenti Google: Thompson, Pike e Griesemer. Il progetto Go viene annunciato pubblicamente nel 2009. La versione di GO 1.0 arriva nel 2012.
Go è un linguaggio che si avvicina al C. E’ “statically-typed” ovvero in Go la verifica dei tipi di variabili avviene durante la compilazione e non durante il run-time.
Il linguaggio Go o Golang si presenta come linguaggio generalista. Tuttavia oggi si sta affermando come linguaggio ideale per i webservices. I motivi sono tre: velocità di deploy, efficienza nell’uso della memoria e gestione della concorrenza.
Gli ideatori di Go dichiarano di aver voluto progettare Golang per ottenere un linguaggio che non era ancora esistino fino a quel momento. Che portasse una compilazione efficiente, esecuzione veloce e di facile sintassi.
Go soddisfa le esigenze della programmazione concorrente. Inoltre il suo sistema di Garbage Collection si occupa autonomamente della gestione della memoria.
Oggi il linguaggio Go-Golang è utilizzato molto nel mondo DevOps, nei container e con Docker. (Vedi Corso Microservices con Docker e Kubernetes). Infine, le ultime versioni di Go-Golang consentono anche lo sviluppo lato cliente e mobile (Android/iOS).
Obiettivi del Corso-go-golang: formare lo studente con competenze di base per lo sviluppo con il linguaggio GO
Requisiti per i discenti: sviluppatori con competenze di programmazione in un linguaggio (Es. C, Python, Java).
Corso-go-golang erogato solo su richiesta e per le aziende. Modalità virtual classroom online o frontale.
Corso-go-golang erogato anche in modalità Online-Classe Virtuale.
PROGRAMMA Corso-go-golang (24 ore):
- Introduzione
- Perché utilizzare GO e filosofia
- Playground
- Variabili e Tipi
- Propety Collection
- Naming Convention
- Pakages & Importing
- Panoramica Go Standard Library
- Ambiente di sviluppo
- Setup ambiente e Gopath
- Creazione primo programma Go di esempio
- Funzioni
- Parametri
- Return Values
- Control e Looping Structures
- Stringhe, Arrays e Mappe
- Metodi
- Interfacce
- I/O Library
- Concorrenza
- Concorrenza in GO
- Goroutines
- Canali
- Range
- Select
- Buffering
- HTTP & JSON API
- Codifica librerie
- Costruire un client da connettere a Github
- Creare un webserver per servire documenti statici
- Aggiungere una JSON API al web server