Questo repository contiene il codice di esempio descritto nella guida "Programmare in Linguaggio Go".
La guida "Programmare in Linguaggio Go" è disponibile in ebook su Amazon, Apple Books, GooglePlay e Kobo, in libro cartaceo su Amazon.
Go è un linguaggio dai notevoli punti di forza e la guida è pensata per tutti coloro che vogliono apprendere questo nuovo linguaggio di programmazione, siano aspiranti programmatori o programmatori esperti. Descrive le specifiche e le peculiarità di Go in modo graduale, in un percorso che va dai valori ai packages, passando per array, slice, map, puntatori, goroutines e canali.
Il capitolo "Go all'opera" accompagna il lettore nella scrittura del programma soccer e delle librerie strutil e socutil contenuti in questo repository. Questi file di codice mostrano come avvalersi delle librerie standard Go per conoscere gli argomenti della linea di comando, acquisire l'input dalla console, convalidare i dati, leggere e scrivere stringhe su flussi e files, verificare se un file esiste, e ancora 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. Il programma soccer non è un semplice "Hello World!", è un programma più articolato le cui istruzioni, insieme alle due librerie, sono spiegate nella guida passo passo, approfondendo allo stesso tempo i temi della progettazione e dell'ottimizzazione del codice.
Il capitolo "Rudimenti di test" descrive sia i files podio.go e podio_test.go contenuti nella cartella podio di questo repository sia le basi per scrivere e eseguire test.
Per visionare il codice durante la lettura della guida, dalla console clona il repository nella cartella src del tuo workspace:
$ cd %GOPATH%\src
$ git clone https://github.com/rmite/gobook.git rmite
e per eseguirlo spostati nella sottocartella soccer, importa i packages e crea l'eseguibile
$ cd rmite\soccer\
$ go get && go build
che puoi avviare sempre da console:
(Windows)
$ soccer.exe
(Linux)
$ ./soccer
La nuova edizione della guida si arricchisce di tre capitoli in cui è descritto come usare il package standard per interagire con database sql e come sviluppare applicazioni web.
Nel repository trovi la libreria todo per gestire note con un database SQLite, la libreria webman per gestire server web e l'applicazione RicordaLista descritte nei rispettivi capitoli.
La libreria todo usa il package standard database/sql e il driver per SQLite 3 di mattn disponibile qui su GitHub.
La libreria permette di creare e gestire un database di note con tipi e metodi che non espongono il database.
La libreria webman raccoglie tipi e funzioni per gestire le richieste a un server web.
RicordaLista è un'applicazione web che fornisce un'interfaccia grafica per gestire un elenco di note.
Le note sono salvate in un database SQLite e gestite con la libreria todo.
L'applicazione si avvale dei seguenti file esterni:
- il database delle note, nella stessa cartella
- modelli html, nella sottocartella "\privato\modelli"
- immagini, nella sottocartella "\pubblico\img"
- stili e script, nella sottocartella "\pubblico\files"
In alternativa al modello semplice della homepage "home.html", nel repository c'è il modello "home2.html" insieme al file javascript "apilib.js" che permettono di vedere come l'applicazione risponde a richieste asincrone e API.
Nella cartella webapp c'è l'eseguibile dell'applicazione "webapp.exe" per Windows a 64bit.
Per usare questo eseguibile o quello compilato da te, scarica la cartella webapp con i file esterni che servono all'applicazione.
L'applicazione legge il modello "home.html" quindi sarà necessario rinominare i due files della homepage per usare il modello alternativo al posto di quello semplice.
Vedi anche License e Contributing.