2.1 Hallo Go
Bevor wir unsere erste Anwendung in Go erstellen, müssen wir erst klein anfangen. Du kannst nicht erwarten, ein Haus bauen zu können, ohne die Grundlagen zu beherrschen. Deshalb werden wir den grundlegenden Syntax in diesem Abschnitt lernen, um ein einfaches Programm zu schreiben.
Programm
In der Programmierung ist es in Klassiker, als erstes eine Anwendung zu schreiben, die einzig "Hallo Welt" ausgibt.
Bist Du bereit? Los geht's!
package main
import "fmt"
func main() {
fmt.Printf("Hallo Welt oder 你好,世界 oder καλημ ́ρα κóσμ oder こんにちは世界\n")
}
Es sollte jetzt folgendes ausgegeben worden sein.
Hallo Welt oder 你好,世界 oder καλημ ́ρα κóσμ oder こんにちは世界
Erklärung
Eine Sache, die Du zu Beginn wissen solltest, ist, dass Go-Programme stets mit dem Schlüsselwort package
anfangen.
package <Paketname>
(in diesem Fall package main
) sagt aus, dass diese Quellcodedatei zum Paket main
gehört. Das Schlüsselwort main
ist jedoch besonders, da es zu einer ausführbaren Binärdatei kompiliert wird. Normalerweise wird sonst ein Paket in der Dateiendung .a
generiert.
Jedes ausführbare Programm hat nur ein einziges main
Paket, dass die Funktion main
beinhalten muss, die keine Argumente erhält und keine Werte zurückgibt.
Um Hallo Welt...
auszugeben, haben wir eine Funktion mit dem Namen Printf
genutzt. Diese Funktion stammt aus dem fmt
Paket, welches wir in der dritten Zeile mit import "fmt"
importiert haben.
Pakete werden ähnlich wie in Python behandelt, was ein paar Vorteile mit sich bring: Modularität (das Aufteilen eines Programms in kleinere Codesegmente, genannt Module) und Wiederverwendbarkeit (viele Module können auch in anderen Programmen genutzt werden). Das Konzept um Pakete hatten wir bereits aufgegriffen. Später werden wir auch eigene Pakete erstellen.
In der fünften Zeile haben wir das Schlüsselwort func
verwendet, um die main
-Funktion zu definieren. Der Rumpf bzw. Körper einer Funktion befindet sich zwischen {}
, genau wie in C, C++ und Java.
Wie Du siehst, gibt es keine Argumente, die an die Funktion übergeben worden sind. Wir werden in wenigen Sekunden lernen, wie man diese in Funktionen nutzt. Du kannst auch Funktionen schreiben, die keinen oder beliebig viele Rückgabewerte haben.
In der sechsten Zeile rufen wir die Funktion Printf
aus dem Paket fmt
auf. Die geschieht über den Syntax <Paketname>.<Funktionsname>
, also ganz im Stil von Python.
Wie in Kapitel 1 angemerkt, können sich der Name des Pakets und der Ordner, indem es sich das Paket befindet, durchaus verschieden sein. Hier stammt der <Paketname>
vom Namen in package <Paketname>
und nicht vom Ordnernamen ab.
Du hast vielleicht mitbekommen, dass unser Beispiel oben viele Nicht-ASCII-Zeichen beinhaltet. Dies hat den Zweck zu zeigen, dass Go UTF-8 standardmäßig unterstützt. Du kannst jedes beliebige UTF-8 Zeichen in Deinen Programmen verwenden.
Zusammenfassung
Go nutzt package
(wie Module in Python) zum Strukturieren von Programmen. Die Funktion main.main()
(diese Funktion muss sich im main
-Paket befinden) ist der Startpunkt von jedem Programm. Go unterstützt UTF-8-Zeichen, da einer ihrer Schöpfer zugleich UTF-8 mitentwickelt hat. Somit unterstützt Go von Beginn an mehrere Sprachen.
Links
- Inhaltsverzeichnis
- Vorheriger Abschnitt: Grundlegendes Wissen zu Go
- Nächster Abschnitt: Grundlagen von Go