Questa guida è pensata per tutti coloro che vogliono apprendere il linguaggio di programmazione Go, siano aspiranti programmatori o programmatori esperti.
Dopo un breve capitolo introduttivo sulle origini del linguaggio e la programmazione in generale, il capitolo "Un po' di teoria" è dedicato agli aspiranti programmatori così che possano comprendere senza difficoltà il resto della guida. Il capitolo tratta argomenti quali la progettazione dell'algoritmo, la riusabilità del codice con librerie e funzioni, la scrittura e l'ottimizzazione del codice ma non solo, descrive concetti base quali valori, costanti, variabili, oggetti, decisioni, cicli e operazioni.
Nel capitolo "Il linguaggio Go", le specifiche del linguaggio Go sono descritte con esempi di codice, in maniera dettagliata e sintetica proprio come un programmatore esperto vorrebbe.
I concetti sono affrontati in maniera graduale e le peculiarità del linguaggio sono approfondite quando il lettore ha già acquisito le basi. Fra le peculiarità trattate ci sono la relazione fra array e slice, l'implementazione delle interfacce, l'uso dell'interfaccia vuota e l'asserzione del tipo, l'uso dei puntatori, il differimento delle funzioni con l'istruzione defer, la programmazione asincrona con goroutines e canali.
La guida descrive i packages e il workspace che raccolgono il codice sorgente, i comandi Go per la compilazione e come gestire gli errori sia nella procedura di panic sia in generale per l'ottimizzazione del codice.
Il capitolo "Go all'opera" accompagna il lettore nella scrittura di un programma e due librerie approfondendo nel tragitto i temi della progettazione e dell'ottimizzazione del codice. Non si tratta di un semplice programma "Hello World!" bensì un programma più articolato che mostrerà come avvalersi delle librerie standard Go per conoscere gli argomenti della linea di comando, acquisire l'input dalla console, convalidare i dati, verificare se un file esiste, leggere e scrivere stringhe su flussi e files. Il lettore vedrà anche come definire strutture con relativi metodi e come implementare i metodi delle interfacce standard per la rappresentazione testuale nella console e per l'ordinamento degli slice con criteri personali.
Nel capitolo "Rudimenti di test", il lettore apprende le basi per scrivere e eseguire test con l'uso della libreria standard testing e del comando go test.
La guida si chiude con uno sguardo allo strumento godoc per la gestione della documentazione del codice e allo strumento gofmt per la formattazione del codice, una panoramica delle librerie standard di Go e alcune utili informazioni sul playground e il supporto fornito dagli ideatori del linguaggio.