Parsing JSON in Go
In questo articolo vediamo come eseguire il parsing di un JSON, remoto, in Go.
Useremo anche delle custom struct per incapsulare gli elementi.
Ovviamente la struttura delle struct dipende dal JSON di partenza.
Golang
In questo articolo vediamo come eseguire il parsing di un JSON, remoto, in Go.
Useremo anche delle custom struct per incapsulare gli elementi.
Ovviamente la struttura delle struct dipende dal JSON di partenza.
PTerm è una libreria per Go che ci consente di creare una TUI.
In questo articolo vediamo qualche esempio.
In un precedente articolo, abbiamo visto come listare files in una cartella in Go.
In questo vediamo come fare la stessa cosa ma in maniera ricorsiva.
Quindi andremmo a listare anche i files nelle sottocartelle.
Per ottenere informazioni di sistema in Go abbiamo l'ottimo package sysinfo!
Prima di tutto dobbiamo "installarlo":
go get github.com/zcalusic/sysinfo
In Go abbiamo, almeno, due modi per listare files e directories:
Qui sotto vediamo un esempio di entrambi.
Una goroutine ci permette di usare la concorrenza/ programmazione asincrona in Go.
Rispetto ad altri linguaggi ho trovato i concetti più semplici da imparare.
Una delle cose che mi è piaciuta di più è la possibilità di usare i channels per lo scambio dati tra le varie routines.
In questo articolo vediamo un paio di esempi.
In Go per usare gli argomenti da riga di comando possiamo usare os.Args o flag.
Il primo fa il parsing di tutto ciò che viene dopo il file .go da lanciare.
Il secondo ci permette di usare dei flag veri e propri.
Go non ha il classico try/catch/finally per gestire gli errori.
Ma semplicemente abbiamo l'interfaccia Error e il package errors attraverso i quali possiamo gestire gli errori ed intercettarli.
Nel senso che Go incentiva l'intercettazione "manuale" degli errori, piuttosto che quella "automatica" che abbiamo in altri linguaggi.
Rispetto ad altri linguaggi Go ha un modo un pò tutto suo di eseguire richieste HTTP.
Non tanto nell'eseguire la richiesta vera a propria, ma quanto nel leggere la risposta.
Come potete vedere dalla documentazione, la funzione Get restituisce due valori:
In Go è possibile che una funzione ritorni più valori, e questa è una cosa che trovo molto comoda.
In realtà è una cosa studiata, in quanto Go usa questo "trucchetto" anche per l'intercettazione degli errori (che vedremo in un altro articolo).