Go programmieren für Dummies. Wei-Meng Lee

Чтение книги онлайн.

Читать онлайн книгу Go programmieren für Dummies - Wei-Meng Lee страница 13

Go programmieren für Dummies - Wei-Meng Lee

Скачать книгу

|__show_time.go

      Tragen Sie folgende Codezeilen in die Datei show_time.go ein:

       package main import ( "fmt" "time" ) func displayTime() { fmt.Println(time.Now()) }

      Wie Sie anhand der ersten Zeile sehen, gehört diese Datei zum Paket main. Wenn Sie mehr als ein Paket importieren möchten, müssen die Paketnamen von Klammern umschlossen sein. In diesem Beispiel werden die Pakete time und fmt importiert. Danach folgt eine Funktion namens displayTime(), die mithilfe der Funktion Now() des time-Pakets die aktuelle Uhrzeit inklusive Datum ausgibt.

      Da die displayTime()-Funktion zum main-Paket gehört, kann sie auch in main.go aufgerufen werden:

       package main

       import "fmt"

       func main() {

       fmt.Println("Hallo Welt!")

       displayTime()

       }

      

Funktionen, die im selben Paket definiert sind, können aufgerufen werden, ohne dass Sie das Paket explizit importieren müssen.

      Da nun zwei Dateien zum Paket main gehören, müssen Sie beim Kompilieren keinen Dateinamen mehr angeben. Stattdessen führen Sie den Befehl build innerhalb des Verzeichnisses Kapitel 1 aus:

       $ go build

      Wenn Sie nun in das Verzeichnis Kapitel 1 schauen, befindet sich dort eine neue Datei namens Kapitel_1 (Kapitel_1.exe unter Windows).

      Um diese Datei unter macOS auszuführen, geben Sie Folgendes im Terminal ein:

       $ ./Kapitel_1

      Unter Windows verwenden Sie folgenden Befehl:

       C:\users\IhrName\Kapitel 1>Kapitel_1

      Sie sollten nun eine Ausgabe ähnlich der folgenden sehen:

       Hallo Welt! 2020-10-01 12:01:13.412568 +0800 +08 m=+0.000365532

      Kompilieren von Programmen für mehrere Betriebssysteme

      Bei der Installation von Go werden automatisch mehrere Go-Umgebungsvariablen eingerichtet, damit Ihre Go-Programme korrekt funktionieren. Insbesondere erkennt das Installationsprogramm bestimmte Werte der Host-Architektur und des genutzten Betriebssystems, die für die Umgebungsvariablen GOHOSTARCH beziehungsweise GOHOSTOS nötig sind. Die Werte dieser zwei Variablen geben die Zielplattform an, für die Ihre Programme kompiliert werden.

      Wenn Sie sich diese Werte der Go-Umgebungsvariablen anzeigen lassen möchten, nutzen Sie den Befehl env:

       $ go env GOARCH="amd64" GOBIN="" GOCACHE="/Users/weimenglee/Library/Caches/go-build" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" PKG_CONFIG="pkg-config"

Betriebssystem GOOS GOARCH
macOS darwin amd64
Linux linux amd64
Windows windows amd64

      Tabelle 1.1: Umgebungsvariablen für verschiedene Betriebssysteme

      Um ein Programm für macOS zu kompilieren, nutzen Sie die folgenden Befehle und Optionen:

       $ GOOS=darwin GOARCH=amd64 go build -o Kapitel_1-mac

      

Wenn Go in naher Zukunft nativ auf Apple Silicon portiert wird, wäre der Wert von GOARCH entsprechend arm64.

      Um ein Programm für Windows OS zu kompilieren, sind folgende Befehle und Optionen nötig:

       $ cd ~/"Kapitel 1" $ GOOS=windows GOARCH=amd64 go build -o Kapitel_1-windows.exe

      

Über die Option -o (kurz für Output) können Sie einen Namen für die ausführbare Datei angeben.

      Der vorgenannte Befehl kompiliert das Paket im Verzeichnis Kapitel 1 für Windows und speichert die ausführbare Datei als Kapitel_1-windows.exe.

      Um ein Programm für Linux zu kompilieren, nutzen Sie folgende Befehle und Optionen:

       $ GOOS=linux GOARCH=amd64 go build -o Kapitel_1-linux

      

Falls Sie mit Go auf dem Raspberry Pi arbeiten, nutzen Sie für GOARCH den Wert arm64.

      Wenn auf Ihrem Computer macOS oder Linux läuft, können Sie die für die jeweilige Plattform erstellten ausführbaren Dateien mit dem file-Befehl überprüfen:

       $ file Kapitel_1-mac Kapitel_1-mac: Mach-O 64-bit executable x86_64 $ file Kapitel_1-windows.exe Kapitel_1-windows.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows $ file Kapitel_1-linux

Скачать книгу