Skip to content

Latest commit

 

History

History
53 lines (29 loc) · 3.46 KB

File metadata and controls

53 lines (29 loc) · 3.46 KB

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