Go è un linguaggio di programmazione tipizzato staticamente. Originariamente progettato da Google, Go condivide somiglianze con C in termini di sintassi. Tuttavia, in termini di funzionalità, Go offre caratteristiche aggiuntive come la sicurezza della memoria, la garbage collection, la tipizzazione strutturale, ecc. Negli ultimi anni, Go ha guadagnato un'incredibile popolarità.
Questa guida esaminerà i passaggi per compilare e installare programmi Go con l'aiuto di un programma Go dimostrativo.
Compilazione e installazione di Go
Prima di procedere oltre, facciamo una rapida analisi di cosa significhino compilazione e installazione nel contesto della programmazione Go.
Nella programmazione Go, la compilazione si riferisce al processo di traduzione del codice sorgente in un eseguibile binario. L'eseguibile conterrà i codici di supporto necessari per poter essere eseguito in modo indipendente sulla piattaforma di destinazione. A differenza dei programmi in Ruby/ o Python, i binari di Go generalmente non richiedono alcuna dipendenza di sistema per essere eseguiti su un nuovo sistema.
L'inserimento del binario Go in un percorso di file eseguibili sul sistema viene definito installazione del programma. Come accennato in precedenza, questa guida mostrerà l'esecuzione, la compilazione e l'installazione di un semplice programma Go "Hello world".
Prerequisiti
Prima di iniziare, esaminiamo i prerequisiti che dovrai soddisfare per seguire il tutorial:
- Un server Ubuntu 20.04 configurato correttamente. Scopri come installare e configurare un server Ubuntu.
- Un utente non-root con privilegi sudo. I permessi di root sono necessari per eseguire modifiche a livello di sistema. Da questo tutorial puoi imparare come concedere i permessi sudo a un utente non-root user.
- Un ambiente di programmazione Go configurato correttamente.
Per prima cosa, esamineremo rapidamente l'installazione e la configurazione dell'ambiente di programmazione Go. Per una guida passo-passo più approfondita sull'installazione di Go, controlla qui.
Installazione di Go
Go è disponibile su tutte le principali piattaforme (Windows, Linux e macOS). È ufficialmente disponibile direttamente da Golang. A causa del nome del sito web, Go viene spesso chiamato Golang. Qui ci riferiremo sempre al linguaggio di programmazione Go come Go e al sito web di Golang come Golang.
Golang offre una documentazione dettagliata sull'installazione di Go per tutte le piattaforme supportate. Tuttavia, il metodo ufficiale descrive l'installazione manuale. Ogni volta che viene rilasciata una nuova versione, è necessario aggiornare manualmente l'installazione all'ultima versione. In alternativa, possiamo installare direttamente Go usando APT (dai repository predefiniti di Ubuntu) o snap (da Snapcraft).
● Installazione di Go tramite APT
Go è direttamente disponibile nei repository ufficiali di Ubuntu. Tuttavia, non è sempre l'ultima versione di Go. Ci sono anche due varianti di Go disponibili nel repository di Ubuntu: golang-go e gccgo-go. Mentre golang-go è la versione ufficiale di Golang, gccgo-go è il frontend Go per GCC (come parte del compilatore GNU). In genere, golang-go è la scelta preferita.
Per installare golang-go, esegui il seguente comando APT:
|
1 |
sudo apt update && sudo apt install golang-go |

Controlla la versione di Go:
|
1 |
go version |
● Installazione di Go tramite snap
Gli snap sono pacchetti Linux universali che possono essere installati su qualsiasi distribuzione supportata. Snapcraft elenca tutte le distribuzioni supportate con le relative guide all'installazione. Su Ubuntu, il supporto snap è abilitato per impostazione predefinita. Go è disponibile anche come snap. Tieni presente che non è gestito ufficialmente da Golang. Il pacchetto snap è gestito da un fornitore terzo.
Per installare lo snap di Go, esegui il seguente comando:
|
1 |
sudo snap install go --classic |

Quindi, controlla la versione di Go:
|
1 |
go version |
Configurazione di un progetto Go
Il nostro sistema ha tutti gli strumenti necessari per iniziare a sviluppare app in Go. È ora di creare il nostro progetto dimostrativo. Per prima cosa, crea una directory dedicata per il nostro progetto:
|
1 |
mkdir -v demo_project |

Successivamente, cambia la directory corrente con la directory appena creata:
|
1 |
cd demo_project/ |

Qui, crea un nuovo file di testo chiamato main.go:
|
1 |
nano main.go |
Il seguente codice presenta un semplice programma che stamperà "Hello world" quando viene eseguito. Copia il codice:
|
1 2 3 4 5 6 7 |
package main import "fmt" func main() { fmt.Println("hello world!") } |

Salva il file e chiudi l'editor. Verifica che il codice funzioni correttamente:
|
1 |
go run main.go |

Il compilatore Go ha compilato il file sorgente in un file binario e lo ha eseguito. Verifica inoltre che il programma funzioni correttamente.
Configurazione del Workspace di Go
Per installare correttamente i programmi Go, dobbiamo configurare il workspace di Go e GOPATH.
Innanzitutto, crea la struttura delle directory:
|
1 |
mkdir -pv $HOME/go/{bin,src} |

Successivamente, dobbiamo dichiarare il valore di GOPATH e aggiungerlo a PATH. Apri il file bashrc file:
|
1 |
nano ~/.bashrc |

Aggiungi le seguenti righe alla fine del file:
|
1 2 3 |
export GOPATH=$HOME/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOPATH/bin:/usr/local/go/bin |

Ricarica bashrc:
|
1 |
source ~/.bashrc |
Verifica se la modifica è andata a buon fine:
|
1 |
echo $PATH |
Compilazione dei binari Go
Questa sezione mostrerà come compilare il codice Go in un file binario autonomo e distribuibile. Il binario conterrà non solo il codice Go ma anche codice di sistema aggiuntivo per eseguire il binario. Per compilare il nostro codice, esegui il seguente comando:
|
1 |
go build main.go |

Se ci sono più file di codice Go, usa il seguente comando:
|
1 |
go build |
Se non viene specificato alcun file, Go cercherà i file Go nella directory corrente e li compilerà tutti. Ogni file binario prende il nome dal file Go sorgente. In questo esempio, Go ha compilato il programma main. Esegui il programma:
|
1 |
./main |

Questo programma è pronto per essere distribuito su altri computer.
● Modifica del nome del binario
Durante la compilazione, Go selezionerà automaticamente un nome per il file eseguibile. Ci sono due opzioni possibili per la scelta del nome.
- Se Go modules vengono utilizzati, l'eseguibile utilizzerà l'ultima parte del nome del modulo.
- Se non viene utilizzato alcun modulo Go, Go utilizzerà il nome della directory corrente o il nome del file sorgente.
Lavorare con programmi più complessi richiede una convenzione di denominazione diversa. In questi scenari, i metodi di denominazione predefiniti non sono molto utili. In una situazione del genere, il modo migliore è personalizzare l'output utilizzando il flag -o. Facciamo una rapida dimostrazione. Compila il programma Go con il flag -o per designare un nome file diverso:
|
1 |
go build -o bin/hello |

Il flag -o indica a Go di far corrispondere l'output con l'argomento fornito. In questo caso, l'eseguibile si troverà nella directory bin e si chiamerà hello.
Successivamente, testa il nuovo file eseguibile:
|
1 |
./bin/hello |
Installazione dei programmi Go
Finora abbiamo mostrato come compilare binari Go distribuibili a partire dai file sorgente. Possiamo distribuirli su altri sistemi, distribuirli ed eseguire test. Tuttavia, non possono essere eseguiti al di fuori delle loro directory sorgente. Se hai intenzione di utilizzare attivamente il programma, questo vincolo può essere molto fastidioso. Per semplificare le cose, possiamo installare i programmi Go e accedervi da qualsiasi punto del sistema.
Per installare il programma, esegui il seguente comando Go nella directory sorgente:
|
1 |
go install |

Questo comando si comporta allo stesso modo di go build. Tuttavia, invece di lasciare il file eseguibile nella directory sorgente, viene posizionato nella seguente directory:
|
1 |
$GOPATH/bin |
Le variabili GOPATH e GOBIN indicano a Go dove cercare i workspace di Go. GOPATH predefinito è la posizione $HOME/go. Abbiamo impostato manualmente GOBIN su $GOPATH/bin. Per verificare la posizione di GOPATH e GOBIN utilizza il seguente comando:
|
1 |
go env GOPATH |
|
1 |
go env GOBIN |

Controlla il contenuto di $GOPATH/bin. Il nostro programma dovrebbe essere lì:
|
1 |
ls $GOPATH/bin |

È il momento di verificare se l'installazione è andata a buon fine. Cambia la directory corrente in una posizione diversa e prova a eseguire il programma Go:
|
1 |
demo_project |

Infine, dovresti essere in grado di prendere i tuoi programmi e installarli nel tuo sistema. Puoi usarli ovunque e in qualsiasi momento ne hai bisogno.
Considerazioni finali
In questo tutorial, abbiamo dimostrato con successo come utilizzare le toolchain di Go per creare binari eseguibili a partire dai codici sorgente. Questi binari possono essere utilizzati su altri sistemi anche senza alcuna configurazione di Go. Infine, abbiamo dimostrato come installare il programma Go per renderlo disponibile da qualsiasi punto del sistema.
Per gli sviluppatori, CloudSigma offre il supporto per le API di Go per gestire i tuoi server cloud. Consente di modificare le risorse e scalare l'infrastruttura.
Buon computing!




Commenti
Ancora nessun commento. Scrivi il primo.