Soeben hat Google die Version 1.9 seiner Programmiersprache Go freigegeben.
Der Schwerpunkt der Neuerungen liegt wohl in der Verbesserung von Laufzeitumgebung und Tools, das Update bringt aber auch Neuerungen in der Standardbibliothek und der Sprache selbst.
Die wichtigste Neuerung sind wohl die Type Aliases, die besonders für Refactoring-Aufgaben hilfreich sein können. Dadurch wird es möglich, Aliase für Typen zu vergeben, wie beispielsweise byte als anderen Namen für uint8.
Neues bei den Tools
Deutlich mehr Änderungen gibt es bei den Tools zur Sprache. Der Go-Compiler unterstützt ab Go 1.9 das parallele Kompilieren der Funktionen eines Paketes. Dabei werden mehrere Rechenkerne gleichzeitig benutzt, was man schon bisher für die parallele Kompilierung unterschiedlicher Pakete nutzen kann. Die parallele Kompilierung ist als Voreinstellung aktiviert, kann aber manuell deaktiviert werden.
Auf vielfachen Wunsch gibt es beim Vendor Matching eine Änderung: Mit dem Befehl ./… wird es mit Tools, die Paketnamen akzeptieren, nicht mehr erlaubt sein, Pakete innerhalb von vendor-Verzeichnissen aufeinander abzustimmen. Die Funktion wird in Zukunft über den Befehl ./vendor/… verfügbar sein.
Nutzer von JSON können jetzt im ENV-Bereich das neue Flag go env -json nutzen, das einen JSON-Output ermöglicht. Dieses Flag ersetzt das betriebssystemspezifische Output-Format.
Auch das Kommando go test hat jetzt ein neues Flag namens -list. Das nutzt einen regulären Ausdruck als Parameter und gibt in stdout die Namen sämtlicher Tests, Benchmarks und Beispiele aus, ohne sie aber auszuführen.
Alle verfügbaren Informationen zu den neuen Features gibt es im entsprechenden Eintrag zur neuen Sprachversion in der Dokumentation der Programmiersprache Go.