Übung: Hallo Welt

Abgeschlossen

In diesem Abschnitt schreiben Sie Ihr erstes Go-Programm, mit dem eine Meldung auf dem Bildschirm angezeigt wird. Diese Übung stellt eine typische Methode für den Einstieg in eine Programmiersprache dar. Sie erfahren mehr über die Go-Befehlszeilenschnittstelle (CLI) und wie Sie eine Go-Anwendung erstellen und ausführen.

Konfigurieren der IDE zum Öffnen über die CLI

Sie können die Visual Studio Code-IDE über ihre CLI-Eingabeaufforderung öffnen und damit beginnen, die Dateien in Ihrem aktuellen Arbeitsbereich zu bearbeiten. Dieses IDE-Feature wird mithilfe der Systemumgebungsvariablen $PATH (oder $Path) implementiert. Wenn das Feature aktiviert ist, können Sie den Befehl code . über die CLI verwenden, um die IDE zu öffnen und Dateien in Ihrem aktuellen Verzeichnis zu bearbeiten.

Bei einigen Installationen von Visual Studio Code ist die Unterstützung für die CLI in der Variablen „$PATH“ standardmäßig enthalten. Die entsprechende Option wird bei der Installation angezeigt. Wenn Sie diese Einstellung bereits konfiguriert haben, dann ist alles bereit. Andernfalls müssen Sie möglicherweise die folgenden Schritte ausführen, um dieses Feature zu verwenden.

Linux oder macOS

Gehen Sie wie folgt vor, um die Visual Studio Code-CLI in Ihrer „$PATH“-Umgebungsvariablen zu registrieren:

  1. Öffnen Sie Visual Studio Code.

  2. Wählen Sie unter Ansichtdie Option Befehlspalette aus.

  3. Geben Sie in das Suchfeld Shellbefehl ein. Die Ergebnisse werden während der Eingabe gefiltert.

  4. Wählen Sie den Befehl Shell Command: Install 'code' command in PATH (Shellbefehl: Befehl „code“ in PATH installieren) aus.

  5. Schließen Sie die geöffnete Eingabeaufforderung (des Terminals).

    Wichtig

    Wenn Sie eine Eingabeaufforderung aus der vorherigen Übung geöffnet haben, schließen Sie diese, und öffnen Sie eine neue Eingabeaufforderung. Dieser Schritt ist erforderlich, damit der neue $PATH-Wert wirksam wird.

  6. Schließen Sie Visual Studio Code.

Windows

Führen Sie die folgenden Schritte aus, um Ihrer Systemumgebungsvariablen „$Path“ den Speicherort der Visual Studio Code-CLI hinzuzufügen:

Hinweis

Wenn Sie mit Umgebungsvariablen vertraut sind und wissen, wie Sie Ihrer Systemvariablen „$Path“ einen neuen Speicherort hinzufügen, können Sie die für Sie am besten geeignete Methode verwenden. Das folgende Verfahren ist ein bisschen umständlich. Es hat sich jedoch bewährt, um sicherzustellen, dass die Variable ordnungsgemäß aktualisiert wird.

  1. Öffnen Sie die Systemsteuerung von Windows.

  2. Wählen Sie System und anschließend Erweiterte Systemeinstellungen aus.

  3. Wählen Sie im Dialogfeld Systemeigenschaften unter Erweitert die Option Umgebungsvariablen aus. Daraufhin wird das Dialogfeld Umgebungsvariablen bearbeiten geöffnet.

    Im Dialogfeld Umgebungsvariablen bearbeiten werden zwei Listen angezeigt:

    • Benutzervariablen für <Benutzernamen>: Lokale Variablendefinitionen für den jeweiligen Benutzer.
    • Systemvariablen: Systemvariablendefinitionen für alle Benutzer.

    In diesem Verfahren werden die Systemvariablen verwendet.

  4. Scrollen Sie im Dialogfeld Umgebungsvariablen im Listenfeld Systemvariablen bis zur Variablen Path.

  5. Wählen Sie die Variable Path aus, um die Zeile hervorzuheben. Wählen Sie Bearbeiten aus. Daraufhin wird das Dialogfeld Umgebungsvariablen bearbeiten geöffnet. Im Dialogfeld werden alle in der Variablen definierten Ordnerspeicherorte aufgelistet.

  6. Wählen Sie im Dialogfeld Umgebungsvariablen bearbeiten die Option Neu aus. Daraufhin wird am Ende der Liste eine leere Zeile geöffnet.

  7. Geben Sie in der leeren Zeile den Speicherort der Visual Studio Code-CLI ein. Ersetzen Sie <user-name> durch Ihren Benutzernamen.

    C:\Users\<user-name>\AppData\Local\Programs\Microsoft VS Code\bin
    
  8. Wählen Sie OK aus, um die einzelnen Dialogfelder zu schließen.

  9. Schließen Sie das Dialogfeld Systemeigenschaften und die Systemsteuerung von Windows.

Schritt 1: Öffnen des Go-Arbeitsbereichs und der IDE

Nachdem Sie sich vergewissert haben, dass Visual Studio Code über die CLI verwendet werden kann, können Sie Ihren Go-Arbeitsbereich öffnen.

  1. Öffnen Sie eine neue Eingabeaufforderung (des Terminals).

  2. Öffnen Sie Ihr Go-Arbeitsbereichsverzeichnis, indem Sie den folgenden Befehl ausführen:

    cd $GOPATH/src
    
    cd %GOPATH%/src
    
  3. Verwenden Sie den folgenden Befehl, um Visual Studio Code über Ihren Arbeitsbereich zu öffnen:

    code .
    

Visual Studio Code wird gestartet. Links wird die Ansicht Explorer und rechts die Homepage angezeigt.

In der Ansicht Explorer sollte der Abschnitt SRC Ihres Go-Projekts geöffnet (eingeblendet) sein. Bei diesem Abschnitt handelt es sich um den Ordner /src für Ihr Projekt. Er ist derzeit leer. Im nächsten Schritt fügen Sie jedoch einige Inhalte hinzu.

Schritt 2: Erstellen eines neuen Ordners und einer Go-Datei

Fügen Sie ihrem Go-Projekt einen Ordner und eine Datei hinzu. In Visual Studio Code gibt es mehrere Möglichkeiten, neue Elemente zu erstellen:

  • Aktionen im Symbolleistenmenü:
    • Wählen Sie Datei>Ordner öffnen aus, und erstellen Sie dann einen neuen Ordner.
    • Wählen Sie Datei>Neue Datei aus, und erstellen Sie eine neue Datei.
  • Links auf der Homepage, die den Aktionen im Symbolleistenmenü gleichen.
  • Symbole in der Ansicht Explorer rechts neben dem Abschnitt SRC:
    • Wählen Sie das Symbol Neuer Ordner aus. Geben Sie im Textfeld den Ordnernamen ein, und drücken Sie die EINGABETASTE.
    • Wählen Sie das Symbol Neue Datei aus. Geben Sie im Textfeld den Dateinamen ein, und drücken Sie die EINGABETASTE.

Führen Sie in Visual Studio Code die folgenden Schritte aus. Verwenden Sie zum Erstellen der neuen Datei oder des neuen Ordners das für Sie am besten geeignete Verfahren.

  1. Erstellen Sie einen neuen Ordner mit dem Namen helloworld.

  2. Erstellen Sie für den Code Ihrer App eine neue Datei mit dem Namen main.go.

  3. Zeigen Sie die Ordnerstrukturstruktur an, indem Sie die Ansicht Explorer>SRC erweitern. Es sollte wie im folgenden Beispiel aussehen:

    SRC/
        helloworld/
            main.go

Installieren von Go-Erweiterungstools

Wenn main.go die erste Go-Datei ist, die Sie in Visual Studio Code öffnen, werden Sie möglicherweise aufgefordert, andere Tools für die Go-Erweiterung zu installieren. Wenn Sie dazu aufgefordert werden, wählen Sie Installieren aus. Am unteren Rand der IDE wird zur Anzeige der Prozessausgabe ein Terminal geöffnet. Es sollte eine Ausgabe wie im folgenden Beispiel angezeigt werden:

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

Behalten Sie die Statusleiste in Visual Studio Code während des Installationsvorgangs im Blick. Wenn unten rechts eine Meldung wie „All tools not installed“ (Keine Tools installiert) angezeigt wird, wählen Sie die Meldung aus. Wählen Sie im Popupfenster Installieren aus.

Wenn der Installationsvorgang erfolgreich ist, wird in der Terminalausgabe eine Zusammenfassung angezeigt:

Alle Tools wurden erfolgreich installiert. Sie können Go jetzt verwenden.

Schritt 3: Hinzufügen von Code zur Go-Datei

Fügen Sie nun Ihrer Go-Datei Code hinzu.

  1. Fügen Sie der Datei main.go folgenden Code hinzu:

    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello World!")
    }
    
  2. Speichern Sie die Datei.

Machen Sie sich keine Gedanken über Codeformatierungen wie Tabstoppzeichen oder Leerzeichen. In Visual Studio Code wird der Code bei jedem Speichern der Datei automatisch formatiert.

Schritt 4: Ausführen des Go-Programms

Das Go-Programm kann in einer Eingabeaufforderung (des Terminals) oder in einem innerhalb von Visual Studio Code ausgeführten Terminal ausgeführt werden.

Sie können eine bestehende Eingabeaufforderung verwenden oder eine neue öffnen. Denken Sie beim Öffnen einer neuen Eingabeaufforderung daran, den Verzeichnisspeicherort für Ihren Go-Arbeitsbereich zu ändern. Achten Sie zudem darauf, dass Sie das Programm über den Ordner $GOPATH/src/helloworld ausführen, in dem sich Ihre Go-Datei befindet.

Öffnen eines Terminalfensters in Visual Studio Code

Wenn Sie das Programm nicht über einen eigenständigen Befehl oder eine Eingabeaufforderung (des Terminals), sondern über Visual Studio Code ausführen möchten, führen Sie die folgenden Schritte aus:

  1. Wählen Sie in Visual Studio Code Terminal und dann Neues Terminal aus.

  2. Wählen Sie im Dropdownfeld oben rechts im Terminal die Option Neue Eingabeaufforderung aus.

  3. Führen Sie im Terminal den folgenden Befehl aus, um den Verzeichnisspeicherort auf Ihren Go-Arbeitsbereich und den Ordner mit Ihrer Go-Datei festzulegen:

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

Ausführen der Go-App

Verwenden Sie zum Ausführen der Go-App den folgenden Befehl im Terminal oder in der Eingabeaufforderung:

go run main.go

Die folgende Ausgabe wird angezeigt.

Hello World!

Der Befehl go run bewirkt zwei Dinge. Er kompiliert die App, und führt diese nach der Kompilierung aus.

Erstellen einer ausführbaren Datei

Verwenden Sie den folgenden Befehl, um eine ausführbare Datei für Ihr Programm zu erstellen:

go build main.go

Wenn der Befehl go build abgeschlossen ist, wird eine ausführbare App erstellt, die Sie jederzeit weitere Verarbeitung ausführen können. Mit dem Befehl wird lediglich eine ausführbare Datei erzeugt. Damit wird im Gegensatz zum Befehl go run kein Programm ausgeführt.

Anzeigen der Inhalte von „/src“

Ihr Projekt sollte nun in der Ansicht Explorer>SRC wie folgt aussehen:

SRC/
    helloworld/
        Standard
        main.go

In der Ansicht Explorer ist der Name der Datei ohne Erweiterung die ausführbare Datei, die Sie zum Ausführen Ihres Programms verwenden können. (Unter Windows hat diese Datei die Erweiterung .exe.) Bei der Entwicklung verwenden Sie den Befehl go run. Zum Erstellen der Binärdateien für Ihre Anwendung verwenden Sie den Befehl go build und stellen die ausführbare Binärdatei in einer geeigneten Umgebung bereit.

Was haben Sie in Go geschrieben?

Sie haben Ihre erste Go-App erstellt und dafür gesorgt, dass sie kompiliert und ausgeführt wird. Sehen wir uns nun den Code Zeile für Zeile an.

Wir beginnen mit der ersten Anweisung in Ihrer Go-Datei:

package main

Mit der Anweisung package main wird Go mitgeteilt, dass es sich bei der App, die wir erstellen, um ein ausführbares Programm handelt (also um eine Datei, die Sie ausführen können). Unsere „Hello World!“-App ist Teil des main-Pakets. Bei einem Paket handelt es sich um mehrere häufig genutzte Quellcodedateien. Jede ausführbare App verfügt über diese erste Zeile, auch wenn das Projekt oder die Datei einen anderen Namen hat.

Diese Konzepte werden im nächsten Modul näher betrachtet. Im Moment müssen wir nur wissen, dass jedes ausführbare Programm Teil des main-Pakets sein muss.

Aufgabe: Ändern des Paketnamens

Können Sie die Wichtigkeit des main-Pakets bestätigen?

  1. Ändern Sie in der Go-Datei den Paketnamen in der ersten Zeile.
  2. Speichern Sie die Datei, und führen Sie das Programm im Terminal noch mal aus.

  Was passiert? Wird „Hello World!“ angezeigt? Wird eine ausführbare Binärdatei erstellt?

 

Antwort anzeigen
"Hello World!" wird nicht angezeigt. Es wird keine ausführbare Binärdatei erzeugt. Es sollte die Fehlermeldung „go run: cannot run non-main package“ (Nicht-Main-Paket kann nicht ausgeführt werden) angezeigt werden. Warum? Jedes ausführbare Programm sollte Teil des Pakets „main“ sein.

Die nächste Zeile in Ihrer Go-Datei:

import "fmt"

Mit der Anweisung import erhält Ihr Programm Zugriff auf anderen Code in anderen Paketen. In diesem Fall ist fmt ein Standardbibliothekspaket. Informationen zum fmt-Paket finden Sie auf der offiziellen Go-Dokumentationswebsite.

Sie benötigen diese import-Anweisung, da Sie eine Funktion aus diesem Paket verwenden, um später im Programm eine Nachricht in der Anzeige anzuzeigen. Sie können so viele import-Anweisungen einbinden, wie Sie in Ihrem Programm benötigen oder möchten. Go ist in dieser Hinsicht idiomatisch. Wenn Sie ein Paket importieren, aber keine entsprechende Funktion aus dem Paket verwenden, wird die App nicht kompiliert. Bei Visual Studio Code gibt es ein sehr nützliches Feature, mit dem nicht verwendete Importe in einem Programm beim Speichern der Datei automatisch entfernt werden.

Wurde die import-Anweisung beim Speichern der Datei in Visual Studio Code entfernt? Bearbeiten Sie die Datei jetzt ohne Visual Studio Code, und versuchen Sie, die App auszuführen. Welche Ausgabe wird nun angezeigt?

Aufgabe: Hinzufügen eines weiteren Imports

Können Sie zeigen, was Sie über nicht verwendete Importe gelernt haben?

  1. Stellen Sie den ursprünglichen Code der Go-Datei wieder her.
  2. Fügen Sie eine weitere import-Anweisung wie math oder io hinzu.
  3. Speichern Sie die Datei, und führen Sie das Programm im Terminal noch mal aus.

  Was passiert? Wird der nicht verwendete Import von Visual Studio Code entfernt? Wenn ja, wann wird er entfernt?

  1. Bearbeiten Sie Ihre Go-Datei noch mal, jedoch ohne Visual Studio Code.
  2. Speichern Sie die Datei, und führen Sie das Programm in einer neuen Eingabeaufforderung aus.

  Was passiert? Welche Ausgabe wird nun angezeigt?

 

Antwort anzeigen
Wenn Sie Ihre Go-Datei in der IDE bearbeiten, erkennt Visual Studio Code beim Speichern der Datei alle nicht verwendeten Pakete und entfernt die entsprechenden „import“-Anweisungen. Wenn Sie Ihre Go-Datei außerhalb von Visual Studio Code bearbeiten, misslingt die Codeausführung. Es sollte ein Fehler angezeigt werden, z. B.: „#-Befehlszeilenargumente .\main.go:5:2: importiert und nicht verwendet: ‚math‘“.

Sehen wir uns nun den Codeblock in Ihrer Go-Datei an:

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

Die func-Anweisung ist ein reserviertes Wort, das zum Deklarieren einer Funktion verwendet wird. Diese erste Funktion heißt „main“, da sie der Ausgangspunkt unseres Programms ist. In package main darf nur eine main()-Funktion vorhanden sein (die, die Sie in der ersten Zeile definiert haben). In der main()-Funktion haben Sie die Println-Funktion aus dem fmt-Paket aufgerufen. Sie haben eine Textnachricht gesendet, die auf dem Bildschirm angezeigt werden soll.

Es gibt weitere relevante Informationen zu Funktionen. Diese sind Bestandteil des nächsten Moduls.