Go ist nicht nur eine vergleichsweise verständliche Sprache, sondern liefert mit einem kompletten Satz einfach zu bedienender Werkzeuge auch überraschend schnell erstaunliche Ergebnisse. Damit soll ein Maximum an Effizienz und Produktivität für unterschiedliche Einsatzmöglichkeiten erzielt werden.
Go – oder Golang, wie es auch oft genannt wird – wurde zwar von Google-Mitarbeitern entwickelt, gilt aber strenggenommen nicht als „Google-Projekt“. Vielmehr wurde Go als ein Open-Source-Projekt ausgearbeitet, das vor allem einfach zu erlernen, unkompliziert in der Anwendung und leicht von anderen Entwicklern zu lesen sein sollte.
Go verfügt daher nicht über einen großen Funktionsumfang, insbesondere im Vergleich zu Sprachen wie C++. Die Syntax von Go erinnert an C, so dass sie für langjährige C-Entwickler und -Entwicklerinnen relativ leicht zu erlernen ist. Dennoch erinnern viele Funktionen von Go, insbesondere die Gleichzeitigkeit und die funktionale Programmierung, an Sprachen wie Erlang.
Als C-ähnliche Sprache für die Erstellung und Pflege plattformübergreifender Unternehmensanwendungen aller Art hat Go viel mit Java gemeinsam. Und als Mittel zur schnellen Entwicklung von Code, der überall ausgeführt werden kann, könnte man eine Parallele zwischen Go und Python ziehen, obwohl die Unterschiede viel größer sind als die Ähnlichkeiten.
Go hat viele Talente
Die Dokumentation beschreibt Go als eine schnelle, statisch typisierte, kompilierte Sprache, die einer dynamisch typisierten, interpretierten Sprache ähnelt. Selbst ein großes Go-Programm lässt sich in wenigen Sekunden kompilieren. Außerdem vermeidet Go einen Großteil des Overheads von Include-Dateien und Bibliotheken im Stil von C. Go wurde mit Skriptsprachen wie Python verglichen, weil es viele gängige Programmieranforderungen erfüllt.
Einige dieser Funktionen sind in die Sprache selbst eingebaut, wie beispielsweise „goroutines“ für Gleichzeitigkeit und Thread-ähnliches Verhalten; derweil sind zusätzliche Fähigkeiten in Go-Standardbibliothekspaketen verfügbar, wie zum Beispiel das http-Paket von Go. Wie Python bietet Go automatische Speicherverwaltungsfunktionen einschließlich Garbage Collection.
Im Gegensatz zu Skriptsprachen wie Python lässt sich Go-Code zu einer schnell laufenden nativen Binärdatei kompilieren; und im Gegensatz zu C oder C++ kompiliert Go extrem schnell. So schnell, dass sich die Arbeit mit Go eher wie die Arbeit mit einer Skriptsprache als mit einer kompilierten Sprache anfühlt. Außerdem ist das Build-System von Go weniger komplex als das anderer kompilierter Sprachen. Es erfordert nur wenige Schritte, um ein Go-Projekt zu erstellen und auszuführen.
Go macht gehörig Dampf
Die Go-Binärdateien laufen langsamer als ihre C-Pendants, aber der Geschwindigkeitsunterschied ist für die meisten Anwendungen vernachlässigbar. Die Leistung von Go ist für die allermeisten Aufgaben mindestens genauso gut wie die von C und im Allgemeinen viel schneller als die anderer Sprachen wie beispielsweise JavaScript, Python und Ruby, die für ihre Entwicklungsgeschwindigkeit bekannt sind.
Mit der Go-Toolchain erstellte ausführbare Dateien können eigenständig ausgeführt werden, ohne dass externe Abhängigkeiten bestehen. Die Go-Toolchain ist für eine Vielzahl von Betriebssystemen und Hardwareplattformen verfügbar und kann zum Kompilieren von Binärdateien auf verschiedenen Plattformen verwendet werden.
Interoperabilität ist Trumpf
Go bietet alle oben genannten Vorteile, ohne den Zugriff auf das zugrunde liegende System zu beeinträchtigen. Go-Programme können mit externen C-Bibliotheken kommunizieren oder native Systemaufrufe tätigen. In Docker zum Beispiel arbeitet Go mit Low-Level-Linux-Funktionen, cgroups und Namespaces zusammen, um die „Magie von Containern“ zu nutzen.
Die Go-Toolchain ist als Linux-, MacOS- oder Windows-Binary oder als Docker-Container frei verfügbar. Go ist standardmäßig in vielen beliebten Linux-Distributionen wie Red Hat Enterprise Linux und Fedora enthalten, was die Bereitstellung von Go-Quellcode auf diesen Plattformen etwas einfacher macht. Auch viele Entwicklungsumgebungen von Drittanbietern, von Microsoft Visual Studio Code bis hin zur Komodo IDE von ActiveState, unterstützen Go in hohem Maße.
Idealtypische Anwendungsfelder
Keine Sprache eignet sich für jede Aufgabe, aber einige Sprachen eignen sich für mehr Aufgaben als andere. Go qualifiziert sich vor allem für folgenden Anwendungstypen:
Go eignet sich aufgrund seiner Gleichzeitigkeits- und Netzwerkfunktionen sowie seiner hohen Portabilität gut für die Entwicklung Cloud-nativer Anwendungen. Tatsächlich wurde Go zur Entwicklung mehrerer Eckpfeiler des Cloud-nativen Computings verwendet, darunter Docker, Kubernetes und Istio.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Verteilte Netzwerkdienste
Netzwerkanwendungen leben und sterben durch Gleichzeitigkeit, und die nativen Gleichzeitigkeitsfunktionen von Go – vor allem Goroutinen und Channels – eignen sich gut für solche Aufgaben. Folglich sind viele Go-Projekte auf Netzwerke, verteilte Funktionen und Cloud-Dienste ausgerichtet: APIs, Webserver, Minimal-Frameworks für Webanwendungen und dergleichen.
Dienstprogramme und eigenständige Tools
Go-Programme lassen sich zu Binärdateien mit minimalen externen Abhängigkeiten kompilieren. Dadurch eignen sie sich ideal für die Erstellung von Dienstprogrammen und anderen Werkzeugen, da sie schnell gestartet und für die Weiterverteilung leicht verpackt werden können. Ein Beispiel ist ein Zugangsserver namens Teleport (zum Beispiel für SSH). Teleport kann schnell und einfach auf Servern eingesetzt werden, indem man es aus dem Quellcode kompiliert oder eine vorgefertigte Binärdatei herunterlädt.