Go ist eine kompilierte Programmiersprache, die von Google entwickelt wurde, um typische Schwächen älterer Sprachen wie C, C++ und Java zu überwinden. Sie wurde speziell für die Anforderungen moderner Infrastruktur, skalierbarer Netzwerkdienste und Cloud-Computing konzipiert.
Go (Programmiersprache)
Bezeichnung: Go (auch: Golang)
Entwickler: Google Inc.
Designer: Robert Griesemer, Rob Pike, Ken Thompson
Erstveröffentlichung: 2009 Aktuelle Version: 1.25.5 (Stand: Dezember 2025)
Lizenz: BSD-Lizenz Paradigmen: Nebenläufig, imperativ, strukturiert, modular, objektorientiert (via Interfaces), generisch
Typisierung: Statisch, stark
Plattformen: Linux, macOS, Windows, FreeBSD, Fuchsia, experimentell: DragonFly BSD, Plan 9, Solaris, z/OS
Merkmale
- Kompilierung: Go erzeugt schnellen Maschinencode mit hoher Übersetzungsgeschwindigkeit.
- Nebenläufigkeit: Native Unterstützung durch Goroutinen und Channels, basierend auf dem CSP-Modell von Tony Hoare.
- Speicherverwaltung: Automatische Garbage Collection.
- Modularität: Quellcode wird in Paketen organisiert.
- Objektorientierung: Realisiert über Interfaces und Komposition statt Klassen und Vererbung.
- Generics: Seit Version 1.18 verfügbar.
- Unicode: UTF-8-Unterstützung für Strings und Bezeichner.
- Werkzeuge: Integrierte Tools wie
gofmt,godoc,go geterleichtern Formatierung, Dokumentation und Paketverwaltung.
Einfluss und Herkunft
Go wurde von Sprachen wie C, Newsqueak, Alef, Limbo und Oberon beeinflusst. Die Syntax lehnt sich an C an, während die Modularität und Typsicherheit Elemente aus der Wirthschen Sprachfamilie (z. B. Oberon) integriert.
Einsatzgebiete
- Entwicklung von Webservern und APIs
- Cloud- und Cluster-Computing
- Netzwerktools und Systemprogrammierung
- DevOps-Werkzeuge und CLI-Anwendungen
- Hochperformante Microservices
Besonderheiten
Go verzichtet bewusst auf komplexe Sprachfeatures wie Klassenvererbung, Ausnahmebehandlung mit try-catch, oder überladene Operatoren. Stattdessen setzt es auf Klarheit, Effizienz und einfache Wartbarkeit – ideal für große Codebasen und Teams
