6 Teil I: Erste Schritte mit Go Teil I
Kapitel 1: Auf die Plätze, fertig, Go! Kapitel 1
Mit Go zum beruflichen Erfolg Installieren von Go auf Ihrem Computer Verwenden einer integrierten Entwicklungsumgebung (IDE) mit Go Ihr erstes Go-Programm Vergleich von Go mit anderen Programmiersprachen Kapitel 2: Datentypen Deklarieren von Variablen Deklarieren von Konstanten Entfernen von ungenutzten Variablen Verwenden von Strings Konvertieren von Datentypen Kapitel 3: Entscheidungsfindung Entscheidungen mittels if/else Verwenden der switch-Anweisung bei mehreren Bedingungen Kapitel 4: Noch einmal und noch einmal: Programmschleifen Durchlaufen von Schleifen mit der for-Anweisung Iteration über einen Wertebereich Verwenden von Sprungmarken mit der for-Schleife Kapitel 5: Übersichtlicher Code dank Funktionen Definieren einer Funktion Verwenden von anonymen Funktionen
7 Teil II: Datenstrukturen Kapitel 6: Datensammlungen in Arrays und Slices Allzeit bereit mit Arrays Strukturell flexibel mit Slices Slicing von Wertebereichen Kapitel 7: Logische Datenorganisation mit Structs Definieren von Structs für Sammlungen aus Datenelementen Erzeugen von Structs Kopieren von Structs Definieren von Methoden in Structs Vergleichen von Structs Kapitel 8: Beziehungen und Maps Erstellen von Maps in Go Verwenden von Structs und Maps in Go Kapitel 9: Datencodierung mit JSON Grundlagen von JSON Decodieren des JSON-Formats Codieren des JSON-Formats Kapitel 10: Methodensignaturen mit Interfaces Arbeiten mit Interfaces in Go Wozu sind Interfaces gut?
8 Teil III: Multitasking in Go Kapitel 11: Threading mit Goroutinen Das Grundprinzip von Goroutinen Verwenden von Goroutinen mit gemeinsamen Ressourcen Synchronisieren von Goroutinen Kapitel 12: Kommunikation zwischen Goroutinen mit Kanälen Das Grundprinzip von Kanälen Iterieren über Kanäle Asynchrones Warten auf Kanäle Verwenden von gepufferten Kanälen
9 Teil IV: Übersichtlicher Code Kapitel 13: Pakete in Go Arbeiten mit Paketen Verwenden von Drittanbieter-Paketen Kapitel 14: Module für Paketgruppen Erstellen eines Moduls Testen und Zusammensetzen eines Moduls Veröffentlichen eines Moduls auf GitHub
10 Teil V: Go in Aktion Kapitel 15: Verwendung von Web-APIs mit Go Funktionsprinzip von Web-APIs Abrufen der Daten von Webservices in Go Kapitel 16: Eigene Webservices mit REST-APIs Erstellen von Webservices mit REST-APIs Erstellen einer REST-API in Go Kapitel 17: Verwendung von Datenbanken Einrichten eines MySQL-Datenbankservers Herstellen der Verbindung zur MySQL-Datenbank in Go
11 Teil VI: Der Top-Ten-Teil Kapitel 18: Zehn praktische Go-Pakete zum Erstellen von Anwendungen color now go-pushbullet goid json2go gojq turtle go-http-client notify gosx-notifier Kapitel 19: Zehn nützliche Go-Ressourcen Die offizielle Go-Website Go by Example Go-Tour Häufig gestellte Fragen zu Go Go Playground Go Bootcamp Effective Go Gophercises Tutorialspoint Stack Overflow
12 Abbildungsverzeichnis
13 Stichwortverzeichnis
14 End User License Agreement
1 Kapitel 1Tabelle 1.1: Umgebungsvariablen für verschiedene Betriebssysteme
2 Kapitel 3Tabelle 3.1: Vergleichsoperatoren in GoTabelle 3.2: Logische Operatoren in Go
3 Kapitel 5Tabelle 5.1: Referenzdatum zum Formatieren von Datum und Uhrzeit in GoTabelle 5.2: Ausgabe eines Datums basierend auf gewählter Formatierung
4 Kapitel 14Tabelle 14.1: Unterverzeichnisse von $GOPATH
5 Kapitel 16Tabelle 16.1: Optionen für curl
1 Kapitel 1 Abbildung 1.1: Die Go-Installationsdatei steht zum Herunterladen bereit. Abbildung 1.2: Der Go-Installationsvorgang ist abgeschlossen. Abbildung 1.3: Visual Studio Code wird zum ersten Mal gestartet. Abbildung 1.4: Visual Studio Code ist einsatzbereit. Abbildung 1.5: Das Symbol ERWEITERUNGEN ganz unten in der Aktivitätsleiste Abbildung 1.6: Für Visual Studio Code gibt es zahlreiche Go-Erweiterungen. Abbildung 1.7: Zur Einführung in die Programmierung mit Go schreiben Sie ein typi... Abbildung 1.8: Die Kommandozeile kann direkt in Visual Studio Code aufgerufen wer...
2 Kapitel 5Abbildung 5.1: Beim Aufruf der Funktion tausch()
werden die Werte von x
und y
in ...Abbildung 5.2: Beim Aufruf der Funktion tausch()
werden nun die Speicheradressen ...
3 Kapitel 6Abbildung 6.1: Arrays sind Sammlungen von Datenelementen desselben Typs.Abbildung 6.2: Ein Array mit fünf ganzzahligen Elementen hat Indexwerte von 0 bis...Abbildung 6.3: Ein zweidimensionales Array in Go ist mit einer Tabelle vergleichb...Abbildung 6.4: Ein dreidimensionales Array in Go ist mit einem Quader vergleichba...Abbildung 6.5: Die Elemente eines dreidimensionalen Arrays als QuaderAbbildung 6.6: Eine Slice wird durch einen Header mit drei Feldern repräsentiert.Abbildung 6.7: Die Kapazität einer Slice kann größer sein als ihre Länge.Abbildung 6.8: Eine Slice wird erzeugt und mit Anfangswerten initialisiert.Abbildung 6.9: Wenn eine Slice ihre Kapazitätsgrenze erreicht und weitere Element...Abbildung 6.10: Die Slice t
kann zwei weitere Elemente aufnehmen, ohne ihre Kapaz...Abbildung 6.11: Wird eine Slice einer Variablen zugewiesen, wird dadurch eine wei...Abbildung 6.12: Eine Modifikation von Slice u
wirkt sich auch auf Slice t
aus.Abbildung 6.13: Durch das Anhängen eines Elements überschreitet Slice t
ihre Kapa...Abbildung 6.14: Eine Slice wird einer Slicing-Operation unterzogen und das Ergebn...Abbildung 6.15: Die Kapazität der Slice ändert sich nach dem Slicing.Abbildung 6.16: Ein Element wird in eine Slice eingefügt.Abbildung 6.17: Ein Element wird aus einer Slice entfernt.
4 Kapitel 7Abbildung 7.1: Die Funktion neuerPunkt()
liefert als Rückgabewert einen Zeiger au...Abbildung 7.2: pt4
und pt5
zeigen auf dieselbe Struct-Instanz.Abbildung 7.3: pt6
zeigt auf eine neue Instanz der punkt
-Struktur.Abbildung 7.4: Eine Kopie von pt6
ist in pt7
hinterlegt und wird von pt8
referenz...
5 Kapitel 8Abbildung 8.1: Diese Map enthält drei Paare aus Schlüssel und zugehörigem Wert.Abbildung 8.2: Alle Elemente der Map wurden als Structs zur Slice p
hinzugefügt.
6 Kapitel 9Abbildung 9.1: Mit dem JSONLint-Tool können Sie JSON-Code validieren.Abbildung 9.2: Der Typ von kurse
ist map[string] interface{}
.Abbildung 9.3: Für den Wert von kurse
wird der Typ map[string] interface{}
zugesi...Abbildung 9.4: Mehrere Go-Strukturen speichern Kundendaten.
7 Kapitel 11Abbildung 11.1: Zwei Funktionen werden nebenläufig als Goroutinen ausgeführt und ...Abbildung 11.2: Der neue Wert des Guthabens wird unter Umständen nicht rechtzeiti...
8 Kapitel 12Abbildung 12.1: Jede der Goroutinen versucht, ihre Teilsumme an den Kanal zu send...
9 Kapitel 13Abbildung 13.1: Das main-Paket umfasst zwei physische Dateien.Abbildung 13.2: Die Dokumentation Ihrer Go-Pakete wird in Form von Webseiten ange...Abbildung 13.3: Für die von Ihnen installierten Pakete gibt es eine praktische Do...Abbildung 13.4: Zu jedem installierten Paket sind Informationen verfügbar.Abbildung 13.5: Godoc erstellt automatisch die Dokumentation für Ihre Pakete.
10 Kapitel 14Abbildung 14.1: Über die grüne Schaltfläche erstellen Sie ein neues GitHub-Reposi...Abbildung 14.2: Vergeben Sie einen Namen für Ihr neues GitHub-Repository.Abbildung 14.3: Sie können nun Ihre Dateien auf GitHub hochladen.Abbildung 14.4: Ziehen Sie Ihre hochzuladenden Dateien in dieses Viereck.Abbildung 14.5: Dateien und Ordner werden per Drag-and-drop auf GitHub hochgelade...Abbildung 14.6: Durch Klick auf die Schaltfläche COMMIT CHANGES werden Ihre Änder...Abbildung 14.7: Das Modul wurde erfolgreich veröffentlicht!
Читать дальше