Der Einstieg

In jeder Programmiersprache gibt es ein einfaches Beispiel zum ersten Kennenlernen einer Programmiersprache, das sogenannte »Hallo Welt« Beispiel. Das machen wir natürlich auch und hier ist es:

package main

import "fmt"

func main() {
    // Das ist ein Kommentar
    fmt.Println("Hallo Welt")
}
»Hallo Welt«-Beispiel in Go. Dateiname: hallo.go. Der Gopher oben rechts bringt dich zum Go Playground, wo du das Programm direkt ausprobieren kannst.

Um das Programm zu starten, muss der Quelltext oben auf der Festplatte gespeichert und mit dem Go-Compiler in ein ausführbares Programm umgewandelt werden. Das kann auf der Kommandozeile in einem Terminalfenster gemacht werden, vielfach bieten auch Texteditoren spezielle Tastenkombinationen an, um ein Programm zu starten.

Die einfachste Möglichkeit jedoch ist, auf https://play.golang.org das Programm einzugeben und laufen zu lassen. Mit dem Online-Editor steht eine fast vollständige Go-Umgebung bereit, so dass man sofort ohne Installation die ersten Gehversuche unternehmen kann.

Webseite Playground
Webseite »go playground«

Möchte man das Programm anstelle online auf der Kommandozeile übersetzen, wird mit

go build hallo.go

ein ausführbares Programm erzeugt, eine funktionierende Go-Installation natürlich vorausgesetzt. Das Ergebnis wird unter Linux mit ./hallo bzw. unter Windows mit hallo.exe gestartet. Im Ergebnis sollte der Text »Hallo Welt« auf der Kommandozeile ausgegeben werden.

Wenn man nur das Programm laufen lassen möchte, kann man den Schritt des Kompilierens überspringen.[1] Wird auf der Kommandozeile anstelle von go build der Befehl go run aufgerufen, wird das Programm für uns unsichtbar kompiliert und ausgeführt:

go run hallo.go

In diesem Fall wird der Programmcode direkt ausgeführt.

Aufbau des Quellcodes in einem Go Programm

Das »Hallo Welt« Programm besteht aus drei Abschnitten, die allen Go-Quelltexten gemein sind. An erster Stelle steht die Paketdeklaration, also zu welchem Paket diese Quelldatei gehört (hier ist es das Paket main). Anschließend werden mit dem Befehl import die Pakete deklariert, die im weiteren Verlauf der Quelltextdatei benutzt werden, im Beispiel das Paket fmt zur formatierten Ausgabe von Texten. Zum Schluss kommt der eigentliche Hauptteil der Datei, nämlich die Funktionsdeklarationen.

package main 

import "fmt" 

func main() { 
    // Das ist ein Kommentar
    fmt.Println("Hallo Welt")
}
Die Zahlen sind nur für die Erklärung und dürfen nicht in den Quellcode mit eingegeben werden.

① Name des Pakets, zu dem die Datei gehört

② Pakete, die für die Ausführung benötigt werden

③ Die Funktion main(), die bei Programmstart aufgerufen wird

Um ein ausführbares Programm zu erzeugen, benötigt man eine Funktion main im gleichnamigen Paket. Das ist die Funktion, die als erstes aufgerufen wird. Im Beispiel besteht die Funktion main aus der Zeile

fmt.Println("Hallo Welt")

was soviel bedeutet wie »rufe aus dem Paket fmt die Funktion Println auf, mit der Zeichenkette Hallo Welt als Argument«.

Kommentare werden mit zwei Schrägstrichen eingeleitet oder wie in der Programmiersprache C mit /* und */ umgeben und dienen auch als zur Erzeugung automatisch erstellter Paketdokumentation.


1. In Wirklichkeit wird genau wie vorher das Programm kompiliert, nur ist das für den Anwender unsichtbar