Go

Golang

Mattepuffo's logo
Parsing JSON in Go

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.

Mattepuffo's logo
Usare le goroutine in Go

Usare le goroutine in Go

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.

Mattepuffo's logo
Argomenti da riga di comando in Go

Argomenti da riga di comando in Go

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.

Mattepuffo's logo
Gestire gli errori in Go

Gestire gli errori in Go

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.

Mattepuffo's logo
Eseguire richieste HTTP get in Go

Eseguire richieste HTTP get in Go

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:

  • un puntatore Response
  • un error

Mattepuffo's logo
Ritornare più valori in una funzione in Go

Ritornare più valori in una funzione in Go

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).