A B C D E F G H I K L M N O P R S T U V W X Y Z

GO – Programmiersprache

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 get erleichtern 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