Tutorial: Get started with Go — Deutsche Übersetzung
- Das Original:
-
https://golang.org/doc/tutorial/getting-started
Version of February 25, 2021 - Diese Übersetzung:
-
https://bitloeffel.de/DOC/golang/getting-started_20210817_de.html
Stand: 04.08.2021
© 2021 Hans-Werner Heinzen @ Bitloeffel.de
Die Nutzung dieses Werks ist unter den Bedingungen der "Creative Commons Attribution 3.0"-Lizenz erlaubt.
Für Fachbegriffe und ähnliches gibt es hier noch eine Wörterliste.
Übung: Erste Schritte mit Go
Mit dieser Übung bekommen Sie eine kurze Einführung in das Programmieren mit Go. Dabei werden Sie:
- Go installieren (wenn Sie's nicht schon getan haben),
- ein simples Hello-World-Programm kodieren,
-
das
go
-Kommando benutzen, um Ihr Programm auszuführen, - das Suchwerkzeug für Go-Pakete benutzen, um Pakete zu finden, die Sie für Ihren eigenen Kode benutzen können und
- Funktionen eines externen Moduls aufrufen.
Hinweis: Weitere Übungen finden Sie hier.
Voraussetzungen
- Etwas Programmiererfahrung. Der Kode hier ist recht einfach, aber es hilft, wenn man etwas über Funktionen weiß.
- Ein Werkzeug zum Bearbeiten Ihres Kodes. Ein beliebiger Texteditor genügt; die meisten unterstützen das Arbeiten mit Go. Beliebt sind VSCode (frei), GoLand (kostet etwas) und Vim (frei).
- Ein Kommandofenster. Go arbeitet unter Linux oder Mac in jedem Terminal, und unter Windows in der PowerShell oder im cmd-Fenster.
Go installieren
Erledigen Sie die beschriebenen Arbeitsschritte in "Download and install" (de).
Kode schreiben
Wir beginnen mit "Hallo Welt".
-
In einer Kommandozeile begeben Sie sich in ihr Home-Verzeichnis.
Unter Linux oder Mac mit:
cd
Unter Windows mit:
cd %HOMEPATH%
-
Erstellen Sie einen Ordner für Ihren ersten Go-Quellkode.
Etwa mit den folgenden Kommandos:
$ mkdir hello $ cd hello
-
Aktivieren Sie für Ihren Kode die Überwachung der Abhängigkeiten.
Wenn Ihr Kode Pakete anderer Module importiert, so verwalten Sie diese Abhängigkeiten in dem Modul zu Ihrem eigenen Kode. Das Modul wird definiert durch eine
go.mod
-Datei, die wiederum die Module überwacht, welche jene anderen Pakete bereitstellen. Diese Datei begleitet Ihren Kode - auch ins Quellkode-Depot (repository).Zum Aktivieren der Überwachung mittels
go.mod
-Datei starten Sie dasgo mod init
-Kommando mit dem Namen des Moduls, welches Ihren kode enthalten soll. Der Name ist der Modulpfad des Moduls. In den meisten Fällen wird das auch der Ort des Quellkode-Depots sein, etwagithub.com/mymodule
. Wenn Sie die Absicht haben, Ihr Modul anderen zur Verfügung zu stellen, dann muss der Modulpfad einen Ort bezeichnen, von dem die Go-Tools Ihr Modul kopieren kann (download).Für diese Übung nehmen Sie einfach
example.com/hello
.$ go mod init example.com/hello go: creating new go.mod: module example.com/hello
- Erzeugen Sie mit Ihrem Texteditor eine Datei hello.go, die Ihren Kode aufnehmen wird.
-
Fügen Sie dort den folgenden Kode ein, und sichern sie die Datei.
package main import "fmt" func main() { fmt.Println("Hallo Welt!") }
Das also ist Ihr Go-Kode.
-
Sie deklarieren ein
main
-Paket. Ein Paket ist eine Methode, Funktionen zu gruppieren; es umfasst alle Dateien desselben Ordners. -
Sie importieren das vielbenutzte
fmt
-Paket, worin sich Funktionen zum Formatieren von Text befinden, auch solche zur Ausgabe auf die Konsole. Dieses Paket gehört zur Standardbibliothek, die Sie mit der Installation von Go bekommen haben. -
Sie implementieren eine
main
-Funktion, die eine Nachricht auf der Konsole ausgibt. Einemain
-Funktion wird automatisch ausgeführt, wenn Sie dasmain
-Paket ausführen.
-
Sie deklarieren ein
-
Starten Sie das Programm, dann sehen Sie den Gruß!
$ go run . Hallo Welt!
Das Kommando
go run
ist eins von vielengo
-Kommandos, die Sie im Rahmen von Go benutzen werden. Mit dem folgenden erhalten Sie eine Liste der anderen:$ go help
Kode eines externen Pakets benutzen
Wenn Ihr Kode etwas tun soll, dass vielleicht ein anderer schon implementiert hat, dann können sie nach einem Paket suchen, das die von Ihnen benötigten Funktionen enthält.
-
Machen Sie die Nachricht Ihres Programms ein bisschen interessanter
mithilfe einer Funktion aus einem externen Modul.
- Besuchen Sie pkg.go.dev und suchen nach einem "quote"-Paket.
-
Lokalisieren Sie das Paket
rsc.io/quote
in den Suchergebnissen und klicken Sie darauf (ein Paketrsc.io/quote/v3
ignorieren Sie fürs Erste). -
Betrachten Sie im Abschnitt Documentation
unter Index die Liste der Fuktionen, die Sie
von Ihrem Kode aus aufrufen können. Sie werden die Funktion
Go
benutzen. -
Beachten Sie am Seitenanfang, dass das Paket
quote
im Modulrsc.io/quote
enthalten ist.
Auf der Seite pkg.go.dev finden Sie veröffentlichte Module, worin Pakete Funktionen enthalten, die Sie in Ihrem Kode benutzen können. Pakete werden innerhalb von Modulen — wie
rsc.io/quote
— veröffentlicht, wodurch andere sie nutzen können. Module werden im Laufe der Zeit mit neueren Versionen verbessert, und Sie können Ihren Kode mit diese verbesserten Versionen aufrüsten. -
Importieren Sie in Ihrem Go-Kode das Paket
rsc.io/quote
und rufen Sie dessen FunktionGo
.Nachdem Sie die herausgehobenen Zeilen hinzugefügt haben, sollte Ihr Kode so aussehen:
package main import "fmt" import "rsc.io/quote" func main() { fmt.Println(quote.Go()) }
-
Ergänzen Sie die neue Modulvoraussetzung und die Prüfsummen.
Das
go
-Kommando wird das Modulquote
als Voraussetzung ergänzen und eine Datei go.sum für die Echtheitsprüfung (authentication) der Module anlegen. Mehr dazu in Module authentication using go.sum.$ go mod tidy go: finding module for package rsc.io/quote go: found rsc.io/quote in rsc.io/quote v1.5.2
-
Starten Sie Ihr Programm, damit Sie die Nachricht sehen können,
die jetzt mit der aufgerufenen Funktion generiert wird.
$ go run . Don't communicate by sharing memory, share memory by communicating.
Wie Sie sehen, ruft Ihr Kode die
Go
-Funktion, die eine schlaue Botschaft zum Thema Nachrichtenaustausch ausgibt.Mit
go mod tidy
wurde das Modulrsc.io/quote
gefunden und fernkopiert (download). Standardmäßig wird die neueste Version kopiert — hier: v1.5.2.
Mehr Kode schreiben
Mit dieser kurzen Einführung haben Sie Go installiert und einige Grundlagen gelernt. Um mit einer weiteren Übung noch ein bisschen mehr zu kodieren, schauen Sie sich doch "Create a Go module" (de) an.