Torna al blog

Compilazione e installazione di programmi Go

Compilazione e installazione di programmi Go

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:

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:

Go Programs apt update and go install

Controlla la versione di Go:

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:

snap install go

Quindi, controlla la versione di Go:

snap 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:

mkdir demo_project

Successivamente, cambia la directory corrente con la directory appena creata:

cd demo_project

Qui, crea un nuovo file di testo chiamato main.go:

Il seguente codice presenta un semplice programma che stamperà "Hello world" quando viene eseguito. Copia il codice:

Go Programs nano main_go

Salva il file e chiudi l'editor. Verifica che il codice funzioni correttamente:

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:

mkdir bin src

Successivamente, dobbiamo dichiarare il valore di GOPATH e aggiungerlo a PATH. Apri il file bashrc file:

Go Programs nano bashrc

Aggiungi le seguenti righe alla fine del file:

Go Programs nano bashrc modified

Ricarica bashrc:

Verifica se la modifica è andata a buon fine:

path variable

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:

build main_go

Se ci sono più file di codice Go, usa il seguente comando:

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:

run main binary

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:

build binary with different name

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:

bin hello_go

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:

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:

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:

go env path

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

ls go path

È 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:

Go Programs check installation by running binary

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!

author

Pranay Kapgate

Autore · CloudSigma

Preslav Dobrev è un designer creativo presso CloudSigma, con un focus su un'identità aziendale coerente attraverso l'uso di canali di marketing tradizionali e innovativi. È abile nel fondere la visione artistica con il marketing strategico per creare narrazioni di brand di grande impatto.

Commenti

Ancora nessun commento. Scrivi il primo.