Go und Golang

Simplizität, Nebenläufigkeit und Performance für Web, Bibliotheken, Daemons und Agents

Die Programmiersprache Go wurde von Google mit Blick auf eine großflächige Cloud-Infrastruktur und effiziente Webserver entwickelt. Go ist eine moderne Programmiersprache, obwohl einige Konstrukte fehlen, die in anderen zeitgenössischen Sprachen zu finden sind. Gerade weil Go auf das Wesentliche reduziert ist, ist damit die Erstellung einfacher, zuverlässiger und effizienter Software sehr gut möglich. Die Standardbibliothek spiegelt dies wieder und bietet ausgezeichnete Netzwerk-Primitive. Die Funktionen der Netzwerkbibiliothek und ihrer Unterpakete (insbesondere net/http) eignen sich gut zum Schreiben von Proxies, API-Servern und Webanwendungen. Last but not least: Go will den Spaß wieder in die Programmierung einbringen.

Einstieg

Die Teilnehmer lernen alle Aspekte der Sprache Go kennen, von Variablen über zusammengesetzten Typen bis hin zu Concurrency-Primitives und grundlegenden Parallelitätsmustern. Neben diesem Überblick ist die tägliche Arbeit mit Go ein zweiter Kernbestandteil – also Antworten auf Fragen wie z. B. Go-Projekte strukturiert werden, Code von Drittanbietern eingebunden wird und was die wesentlichsten Werkzeuge für die Arbeit mit Go sind. Die Themen werden dazu mit vielen kleinen praktischen Übungen vertieft. Jeder Tag enthält mindestens ein größeres Projekt, teilweise auch aufbauend auf den Projekten der vorherigen Tage.

  • Woher Go kommt
  • Die Go-Projektseite und Dokumente
  • Installation und Einrichtung
  • Ein erstes Go-Programm
  • Editoren und IDEs

Sprache

Eine vorherige Exposition gegenüber Go ist nicht erforderlich, da Sprachprimitive inhaltlich abgedeckt werden.

  • Paketdeklaration
  • Import
  • Dateikodierung
  • Einstiegspunkt

Kern-Sprachelemente

  • Variablen
  • Konstanten
  • Sichtbarkeit
  • Arrays
  • Slices
  • Funktionen
  • Kontrollfluss
  • Structs / Strukturen
  • Methoden
  • Zeiger
  • Interfaces
  • Maps
  • Vererbung mit Type Embedding
  • Fehlerbehandlung

Täglich unterwegs mit Go

  • Strukturierung von Go-Projekten
  • Was GOPATH ist
  • Code importieren
  • Paketstruktur
  • Arbeit mit Modulen
  • Code-Konventionen
  • Dokumentation von Go Code
  • Testen von Go Code
  • Benchmarks und Profilierung
  • Übersicht über die Standardbibliothek
  • Auffinden und Verwendung von Code von Drittanbietern inkl. Paketmanagement

Parallelisierung

  • Communicating Sequential Processes (CSP)
  • Goroutinen
  • Kanäle
  • Die select-Anweisung
  • Muster

Werkzeuge

  • Das Go-Tool
  • Cross-Compilation
  • Formatierung und Import
  • Linters und Helfer

Arbeiten mit Daten und Netzwerkanwendungen

Die meisten Go-Anwendungen arbeiten mit strukturierten Daten in Dateien oder Datenbanken (JSON, XML, grundlegende Datenbankzugriffsmuster). In einer Reihe von Beispielen werden kleine, aber nützliche Anwendungen erstellt. Zusätzlich wird gezeigt, wie Web Services grundlegend implementiert werden und die Arbeit mit den net- bzw. net/http-Paketen aus der Standardbibliothek funktioniert.

  • Arbeit mit Dateien
  • Die wichtigsten io-Schnittstellen
  • Serialisierung und Deserialisierung von JSON
  • Serialisierung und Deserialisierung von XML
  • Entwicklung von Web Services mit net/http

Unsere Veranstaltungsorte von dieser / diesem Schulung, Training, Seminar, Kurs (nach oben): Berlin, Dresden, Frankfurt am Main, Hamburg, Hannover, Karlsruhe, Köln, Leipzig, Magdeburg, München, Stuttgart und Inhouse.

Fortbildung oder Weiterbildung zu Go und Golang – wir setzen nur auf erfahrene Talente als Go und Golang Trainer. Das Credo von Martin Czygan lautet „Weniger ist mehr. Go“. Mehr zu ihm und den Beweggründen unserer anderen Trainer erfahren Sie bei seiner Biographie (direkt erreichbar per Bild).

Nach oben