Vorschlag für Sprachänderung: Go soll Generics erhalten

Ein Proposal für die Unterstützung generischer Datentypen liegt bereits seit einiger Zeit vor, nun sollen die Änderungen in der Sprache umgesetzt werden.

In Pocket speichern vorlesen Druckansicht 26 Kommentare lesen

(Bild: Michael Traitov/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Madeleine Domogalla

Die ursprünglich für Google entwickelte Programmiersprache Go bringt als eine der wenigen unter den statisch typisierten Sprachen der letzten Jahre bisher keine Unterstützung für generische Datentypen mit. Über die Implementierung von parametrisierten Typen wird seit Jahren diskutiert – eigentlich schon seit dem Release von Go am 10. November 2009. Nun wurde ein Vorschlag zur Änderung der Sprache eingereicht, der Go um die Unterstützung von Typparametern für Typen und Funktionen erweitern und so eine Form der generischen Programmierung ermöglichen soll.

Generische Datentypen soll Entwicklerinnen und Entwicklern die Möglichkeit bieten, Code gemeinsam zu nutzen und Programme einfacher zu erstellen. Generische Programmierung erlaubt, Funktionen und Datenstrukturen zu schreiben, bei denen einige Typen erst im späteren Verlauf angegeben werden müssen.

Damit lässt sich eine Funktion schreiben, die auf einem Slice eines beliebigen Datentyps operiert. Den tatsächliche Datentyp wird erst beim Aufruf der Funktion angegeben. Des Weiteren lässt sich eine Datenstruktur definieren, die Werte eines beliebigen Typs speichert, wobei der tatsächlich zu speichernde Typ erst beim Erstellen einer Instanz der Datenstruktur angegeben wird.

In den vergangenen Jahren habe es mehrere Versuche gegeben, Generics zu Go hinzuzufügen. Nach zahlreichen Rückmeldungen aus der Go-Community haben sich Ian Lance Taylor, Autor des Go-Frontends für GCC, zusammen mit dem an der Entwicklung der Programmiersprache Go beteiligte Schweizer Entwickler, Robert Griesemer, dazu entschlossen, ein Proposal für die Implementierung des neuen Sprachfeatures einzureichen.

Sollte der Vorschlag auf Zustimmung treffen, verfolgen die Beteiligten das Ziel, bis zum Ende des Jahres eine vollständige Implementierung zum Testen bereitzustellen – eventuell als Teil der Beta zu Go 1.18. Nähere Informationen zum Proposal finden sich im Beitrag auf dem offiziellen Go-Blog und auf GitHub.

Mehr zu Go

(mdo)