Hallo Welt - Go-Guide

  • Guten Tag,


    Go bzw. Golang ist eine kompilierbare, quelloffene und junge Programmiersprache, die 2009 von Google veröffentlicht wurde.

    Ich will jetzt aber nicht lange auf die Geschichte von Go eingehen, wer sich dafür interessiert kann sich gerne vorher noch auf Wikipedia informieren.


    Erstmal wäre es interessant zu wissen, welche Entwicklungsumgebungen gut für Go geeignet sind.

    Empfehlen kann ich Visual Studio Code (auch bekannt als vscode oder einfach Code), was eine sehr performante und flexible Entwicklungsumgebung ist.

    Wer sich in Visual Studio Code nicht gut zurechtfindet, kann sich eine IDE aus der Übersicht aussuchen.


    Bevor wir jedoch mit der Entwicklung anfange, sollte man sich einen Überblick über die wichtigsten Go-Befehle verschaffen.


    Go-Befehl Beschreibung
    go run <GO-DATEI>
    Kompiliert eine Go-Quelldatei und führt es aus.
    go build -o <AUSFÜHRBARE DATEI> <GO-DATEI>
    Kompiliert eine Go-Quelldatei und speichert die ausführbare Datei, wie mit -o angegeben.
    go fmt <GO-DATEI(EN)>
    Formatiert eine Go-Quelldatei.
    go get -u <PAKET> Lädt ein Go-Paket aus einem Repository herunter.
    go env
    Zeigt Informatieren über die Go-Installation.


    Erstmal muss der Go-Pfad (GOPATH) gesetzt werden. Je nach Betriebssystem sollte man nach der offiziellen Anleitung verfahren.


    Fahren wir nun mit einer kleinen "Hallo Welt"-Anwendung fort.

    Zu Anfang muss eine Datei mit der Endung .go erstellt werden, z.B. hallo-welt.go.


    In die erste Zeile kommt package main, damit der Compiler weiß, dass es die Main- bzw. Haupt-Klasse ist.

    Weiter geht es mit einer leeren Zeile und import "fmt", um das Paket fmt (formatted I/O) zu importieren.

    Zu guter Letzt

    Code: Main Funktion
    1. func main() {
    2. fmt.Println("Hallo Welt")
    3. }


    func ist das Schlüsselwort für eine Funktion und main der Funktionsname in den runden Klammern kann man noch Argumente festlegen, die jedoch hier nicht gebraucht werden.

    Die geschweiften Klammern eröffnen und schließen den Code-Block.

    In einem neuen Code-Block beginnt man mit der Tab.


    Doch was ist nun fmt.Println("Hallo Welt")?

    Man kann es sich sicherlich denken, dass es "Hallo Welt" ausgibt, aber hier nochmal genauer.


    fmt ist das Paket, welches wir importiert haben und verwendet werden soll.

    Println ist die Funktion innerhalb des Pakets und "Hallo Welt" ein Argument, das übergeben wird.

    Die Anführungszeichen oben stehen für einen string, also auf Deutsch für einen Text.


    Unser Ergebnis ist

    Code: hallo-welt.go
    1. package main
    2. import "fmt"
    3. func main() {
    4. fmt.Println("Hallo Welt")
    5. }


    Nun führen wir es mit go run hallo-welt.go aus, Hallo Welt!



    Um es an jemanden zu verschicken, kann man es mit go build -o hallo-welt hallo-welt.go kompilieren und mit ./hallo-welt ausführen.

    Als Windows Nutzer mit go build -o hallo-welt.exe hallo-welt.go kompilieren und mit hallo-welt.exe starten.



    Doch, Achtung! Die von dir kompilierte ausführbare Datei läuft nur auf dem von dir verwendeten Betriebssystem und der genutzten Architektur, in meinem Fall Linux und amd64.

    Das kompilieren für andere Betriebssystem und Architekturen nennt sich Cross-Compiling.


    Hierbei führt man den Go-Build-Befehl mit vorangesetzten Variablen aus.

    Beispielweise GOOS=windows GOARCH=amd64 go build -o hallo-welt.exe hallo-welt.go, damit ich als Linux Nutzer eine ausführbare Datei für Windows Nutzer mit amd64 als Architektur kompilieren kann.

    Eine Übersicht über alle unterstützten Betriebssysteme und Architekturen ist auf der offiziellen golang.org Seite in der Dokumentation über die Umgebungen zu finden.


    Damit verabschiede ich mich aus dem Thema und hoffe ihr werdet Spaß beim Erkunden der Programmiersprache Go haben.

    Es werden in kürze weitere Anleitungen erscheinen. :)