Читать книгу Go programmieren für Dummies - Wei-Meng Lee - Страница 22
Funktionsweise eines Go-Programms
ОглавлениеIhr erstes Go-Programm hat hoffentlich funktioniert. Aber wie eigentlich? Schauen wir uns den Code einmal Zeile für Zeile an. Die erste Zeile legt den Namen des Pakets (package
) für dieses Programm fest:
package main
Go-Programme werden in Paketen organisiert. Ein Paket ist eine Sammlung aus Quelldateien, die sich alle im selben Verzeichnis befinden. In diesem Beispiel verweist main
auf das Paket, das Sie im Verzeichnis Kapitel 1
gespeichert haben. Wenn Sie weitere Quelldateien (.go
-Dateien) hinzufügen, werden sie alle diesem main
-Paket zugeordnet (mehr dazu in späteren Kapiteln).
Pakete müssen nicht zwingend den Namen main
erhalten. Bei der Namenswahl sind Ihnen fast keine Grenzen gesetzt. Allerdings hat der Paketname main
eine besondere Bedeutung: Alle Pakete mit diesem Namen enthalten eine Funktion namens main()
, die als Einstiegspunkt für Ihr Programm dient. Auch der Dateiname muss nicht unbedingt mit dem Namen des enthaltenen Pakets übereinstimmen. Ich hätte meine Datei statt main.go
auch hund.go
nennen können – das Programm hätte trotzdem funktioniert (nur mit dem Unterschied, dass auch die ausführbare Anwendung automatisch den Namen hund
statt main
erhalten hätte).
Die nächste Codezeile importiert ein Paket namens fmt
:
import "fmt"
Dieses Paket umfasst diverse Funktionen, mit denen Sie Ausgaben formatieren und an die Konsole senden können, sowie Funktionen zum Erfassen von Benutzereingaben.
Falls Ihnen einige Begriffe aus dem Programmierjargon noch nicht geläufig sind: Eine Funktion ist ein Block aus Codezeilen, die eine bestimmte Aufgabe erfüllen. Weitere Details zu Go-Funktionen bietet Kapitel 5.
Der nächste Codeblock stellt den Einstiegspunkt Ihres Programms dar:
func main() {
}
Da der Paketname main
lautet, wird Ihr Programm bei der Ausführung zuerst diese main()
-Funktion durchlaufen.
Die letzte Zeile Ihres Programmcodes ruft die Println()
-Funktion aus dem Paket fmt
auf, um die Zeichenkette Hallo Welt!
in der Konsole auszugeben:
fmt.Println("Hallo Welt!")