Esercizio - Hello world

Completato

In questa sezione si scriverà il primo programma Go per visualizzare un messaggio sulla schermata. Questo esercizio è un modo tipico per iniziare a usare un linguaggio di programmazione. Si apprenderanno altre informazioni sull'interfaccia della riga di comando di Go e su come compilare ed eseguire un'applicazione Go.

Configurare l'IDE per l'apertura dall'interfaccia della riga di comando

È possibile aprire l'IDE di Visual Studio Code dal prompt dell'interfaccia della riga di comando e iniziare a modificare i file nell'area di lavoro corrente. Questa funzionalità dell'IDE viene implementata usando la variabile di ambiente di sistema $PATH (o $Path). Quando la funzionalità è abilitata, è possibile usare il comando code . dall'interfaccia della riga di comando per aprire l'IDE e modificare i file nella directory corrente.

Alcune installazioni di Visual Studio Code aggiungono il supporto per l'interfaccia della riga di comando alla variabile $PATH per impostazione predefinita. È possibile che questa opzione venga visualizzata durante il processo di installazione. Se questa impostazione è già configurata, non è necessario eseguire altre impostazioni. In caso contrario, potrebbe essere necessario eseguire la procedura seguente per usare questa funzionalità.

Linux o macOS

Seguire questa procedura per registrare l'interfaccia della riga di comando di Visual Studio Code nella variabile di ambiente $PATH:

  1. Aprire Visual Studio Code.

  2. In Visualizza selezionare Riquadro comandi.

  3. Nella casella di ricerca immettere il comando della shell. Durante la digitazione, vengono filtrati i risultati.

  4. Scegliere il comando Shell Command: Install 'code' command in PATH.

  5. Chiudere il prompt dei comandi o del terminale aperto.

    Importante

    Se è aperto un prompt dell'esercizio precedente, chiudere il prompt e aprire un nuovo prompt. Questo passaggio è necessario per rendere effettivo il nuovo valore di $PATH.

  6. Chiudere Visual Studio Code.

Windows

Per aggiungere il percorso dell'interfaccia della riga di comando di Visual Studio Code alla variabile di ambiente di sistema $Path, seguire questa procedura:

Nota

Se si ha familiarità con le variabili di ambiente e si sa come aggiungere un nuovo percorso alla variabile di sistema $Path, è possibile usare il metodo più adatto alle proprie esigenze. La procedura seguente è un po' lunga, ma si tratta di un metodo verificato per assicurarsi che la variabile venga aggiornata correttamente.

  1. Aprire il Panello di controllo di Windows.

  2. Selezionare Sistema e quindi Impostazioni di sistema avanzate.

  3. Nella finestra di dialogo Proprietà sistema in Avanzate selezionare Variabili di ambiente. Viene visualizzata la finestra di dialogo Modifica variabili di ambiente.

    La finestra di dialogo Modifica variabili di ambiente visualizza due elenchi:

    • Variabili dell'utente per <user-name>: definizioni delle variabili locali per l'utente specifico.
    • Variabili di sistema: definizioni delle variabili di sistema per tutti gli utenti.

    In questa procedura vengono usate le variabili di sistema.

  4. Nella finestra di dialogo Variabili di ambiente nella casella di riepilogo Variabili di sistema scorrere l'elenco per individuare la variabile Path.

  5. Selezionare la variabile Path per evidenziare la riga. Seleziona Modifica Viene visualizzata la finestra di dialogo Modifica variabili di ambiente. Nella finestra di dialogo sono elencati tutti i percorsi delle cartelle definiti nella variabile.

  6. Nella finestra di dialogo Modifica variabili di ambiente selezionare Nuova. Viene visualizzata una riga vuota alla fine dell'elenco.

  7. Nella riga vuota immettere il percorso del file eseguibile dell'interfaccia della riga di comando di Visual Studio Code. Sostituire <user-name> con il nome utente.

    C:\Users\<user-name>\AppData\Local\Programs\Microsoft VS Code\bin
    
  8. Selezionare OK per chiudere ogni finestra di dialogo.

  9. Chiudere la finestra di dialogo Proprietà sistema e il Pannello di controllo di Windows.

Passaggio 1: Aprire l'area di lavoro di Go e l'IDE

Dopo aver verificato che è possibile usare Visual Studio Code dall'interfaccia della riga di comando, è possibile aprire l'area di lavoro di Go.

  1. Aprire un nuovo prompt dei comandi o del terminale.

  2. Aprire la directory dell'area di lavoro di Go eseguendo il comando seguente:

    cd $GOPATH/src
    
    cd %GOPATH%/src
    
  3. Usare il comando seguente per aprire Visual Studio Code dall'area di lavoro:

    code .
    

Viene avviato Visual Studio Code. Vengono visualizzati Esplora risorse a sinistra e una home page a destra.

In Esplora risorse la sezione SRC del progetto Go dovrebbe essere aperta (espansa). Questa sezione è la cartella /src del progetto. Attualmente è vuota, ma nel passaggio successivo si aggiungerà del contenuto.

Passaggio 2: Creare una nuova cartella e un file Go

Aggiungere una cartella e un file al progetto Go. In Visual Studio Code è possibile creare nuovi elementi in diversi modi:

  • Azioni nel menu della barra degli strumenti:
    • Selezionare File>Apri cartella e quindi creare una Nuova cartella.
    • Selezionare File>Nuovo file e iniziare un nuovo file.
  • Collegamenti nella home page simili alle azioni del menu della barra degli strumenti.
  • Icone nella visualizzazione Explorer a destra della sezione SRC :
    • Selezionare l'icona Nuovo utente. Nella casella di testo digitare il nome della cartella e premere INVIO.
    • Selezionare l'icona Nuovo file. Nella casella di testo digitare il nome del file e premere INVIO.

In Visual Studio Code seguire questa procedura. Per creare il nuovo file e la nuova cartella, usare la procedura più adatta alle proprie esigenze.

  1. Creare una nuova cartella denominata helloworld.

  2. Creare un nuovo file denominato main.go per il codice dell'app.

  3. Espandere la visualizzazione Esplora risorse>SRC per visualizzare l'albero della struttura delle cartelle. Sarà simile a questo esempio:

    SRC/
        helloworld/
            main.go

Installare gli strumenti di estensione di Go

Se main.go è il primo file di Go che si apre in Visual Studio Code, è possibile che venga richiesto di installare altri strumenti per l'estensione Go. Quando richiesto, selezionare Installa. Viene aperto un terminale nella parte inferiore dell'IDE per visualizzare l'output del processo. Verrà visualizzato un output simile al seguente:

Tools environment: GOPATH=C:\Projects\Go
Installing 5 tools at C:\Projects\Go\bin in module mode.
Installing github.com/uudashr/gopkgs/v2/cmd/gopkgs (C:\Projects\Go\bin\gopkgs.exe) SUCCEEDED

Durante il processo di installazione, controllare la barra di stato in Visual Studio Code. Se viene visualizzato un messaggio in basso a destra, ad esempio "All tools not installed" (Tutti gli strumenti non installati), selezionare il messaggio. Nella finestra popup selezionare Installa.

Al termine del processo di installazione, l'output del terminale visualizza un riepilogo:

All tools successfully installed. You are ready to Go :).

Passaggio 3: Aggiungere codice al file Go

Aggiungere ora il codice al file Go.

  1. Nel file main.go aggiungere il codice seguente:

    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello World!")
    }
    
  2. Salva il file.

Non è necessario preoccuparsi della formattazione del codice, ad esempio tabulazioni o spazi. Visual Studio Code formatta automaticamente il codice ogni volta che si salva il file.

Passaggio 4: Eseguire il programma Go

Il programma Go può essere eseguito in un prompt dei comandi o del terminale o in un terminale eseguito all'interno di Visual Studio Code.

È possibile usare un prompt esistente o aprirne uno nuovo. Se si apre un nuovo prompt, ricordarsi di modificare il percorso della directory nell'area di lavoro di Go. Assicurarsi anche di eseguire il programma dalla cartella che contiene il file Go: $GOPATH/src/helloworld.

Aprire un terminale in Visual Studio Code

Se si vuole eseguire il programma dall'interno di Visual Studio Code, anziché da un prompt dei comandi o del terminale autonomo, seguire questa procedura:

  1. In Visual Studio Code selezionare Terminale e quindi selezionare Nuovo terminale.

  2. Nella casella di riepilogo a discesa in alto a destra nel terminale selezionare Apri nuovo prompt dei comandi.

  3. Nel terminale eseguire il comando seguente per modificare il percorso della directory dell'area di lavoro di Go e della cartella che contiene il file Go:

    cd $GOPATH/src/helloworld
    
    cd %GOPATH%/src/helloworld
    

Eseguire l'app Go

Per eseguire l'app Go, usare il comando seguente nel terminale o nel prompt:

go run main.go

Verrà visualizzato l'output seguente:

Hello World!

Il comando go run esegue due operazioni. Compila l'app e, al termine della compilazione, esegue l'app.

Compilare un file eseguibile

Per generare un file eseguibile per il programma, usare questo comando:

go build main.go

Al termine dell'esecuzione, il comando go build genera un'app eseguibile che è possibile eseguire in qualsiasi momento senza ulteriori elaborazioni. Il comando produce solo un file eseguibile. Non esegue il programma come il comando go run.

Esaminare il contenuto di /src

Di seguito è illustrato come appare ora il progetto nella visualizzazione Esplora risorse>SRC:

SRC/
    helloworld/
        main
        main.go

Nella visualizzazione Esplora risorse il nome del file senza l'estensione è il file eseguibile che è possibile usare per eseguire il programma. In Windows questo file ha effettivamente l'estensione exe. Durante lo sviluppo, viene usato il comando go run. Per compilare i file binari per l'applicazione, si usa il comando go build e si distribuisce il file eseguibile binario in un ambiente appropriato.

Cosa si è scritto in Go?

È stata creata la prima app Go ed è stato verificato che venga compilata ed eseguita. Esaminare il codice riga per riga.

Si inizierà con la prima istruzione nel file Go:

package main

L'istruzione package main è il modo in cui si indica a Go che l'app che si sta creando è un programma eseguibile (un file che è possibile eseguire). L'app "Hello World!" fa parte del pacchetto main. Un pacchetto è un set di file di codice sorgente comuni. Ogni app eseguibile include questa prima riga, anche se il nome del progetto o del file è diverso.

Questi concetti verranno illustrati in dettaglio nel modulo successivo. Per il momento, è necessario sapere che ogni programma eseguibile deve far parte del pacchetto main.

Richiesta: Modificare il nome del pacchetto

È possibile confermare l'importanza del pacchetto main?

  1. Nel file Go modificare il nome del pacchetto nella prima riga.
  2. Salvare il file ed eseguire di nuovo il programma nel terminale.

  Cosa succede? Viene visualizzata "Hello World!"? Viene prodotto un file eseguibile binario?

 

Mostra risposta
"Hello World!" non viene visualizzato. Non viene prodotto un eseguibile binario. Verrà visualizzato un errore: go run: cannot run non-main package (go run: non è possibile eseguire il pacchetto non principale). Perché? Ogni programma eseguibile deve far parte del pacchetto "main".

Di seguito è illustrata la riga successiva nel file Go:

import "fmt"

L'istruzione import offre l'accesso al programma ad altro codice in pacchetti diversi. In questo caso fmt è un pacchetto di librerie standard. Per informazioni sul pacchetto fmt, visitare il sito ufficiale della documentazione di Go.

Questa istruzione import è necessaria poiché si usa una funzione di questo pacchetto per visualizzare un messaggio sulla schermata più avanti nel programma. È possibile includere tutte le istruzioni import desiderate o necessarie nel programma. Tuttavia, Go è idiomatico. Se si importa un pacchetto, ma non si usa una funzione corrispondente dal pacchetto, l'app non verrà compilata. Un'ottima funzionalità di Visual Studio Code è la rimozione automatica delle importazioni inutilizzate in un programma quando si salva il file.

L'importazione è stata rimossa da Visual Studio Code dopo aver salvato il file? Provare a modificare il file senza Visual Studio Code e provare a eseguire l'app. Quale output viene visualizzato adesso?

Richiesta: Aggiungere un'altra importazione

È possibile verificare quanto appreso sulle importazioni inutilizzate?

  1. Ripristinare il file Go nel codice originale.
  2. Aggiungere un'altra istruzione di importazione come math o io.
  3. Salvare il file ed eseguire di nuovo il programma nel terminale.

  Cosa succede? Visual Studio Code rimuove l'importazione inutilizzata? In questo caso, quando viene rimossa?

  1. Modificare di nuovo il file Go, ma non usare Visual Studio Code.
  2. Salvare il file ed eseguire il programma in un nuovo prompt.

  Cosa succede? Quale output viene visualizzato adesso?

 

Mostra risposta
Se si modifica il file Go in IDE, quando si salva il file, Visual Studio Code rileva tutti i pacchetti inutilizzati e rimuove le relative istruzioni di importazione. Quando si modifica il file Go all'esterno di Visual Studio Code, il codice ha esito negativo. Verrà visualizzato un errore, ad esempio: # command-line-arguments .\main.go:5:2: imported and not used: "math"`.

Di seguito è riportato il blocco di codice nel file Go:

func main() {
   fmt.Println("Hello World!")
}

L'istruzione func è una parola riservata usata per dichiarare una funzione. Questa prima funzione è denominata "main" poiché si tratta del punto di partenza del programma. È possibile avere una sola funzione main() in package main (la funzione definita nella prima riga). Nella funzione main() è stata chiamata la funzione Println dal pacchetto fmt. È stato inviato un messaggio di testo da visualizzare sulla schermata.

Nel prossimo modulo verranno descritte nel dettaglio le funzioni.