Programmiersprache: Go 1.24 unterstĂĽtzt WebAssembly und generische Typ-Aliasse

Go 1.24 führt neue Features und Leistungsoptimierungen ein sowie Anpassungen bei den Tools und der Standardbibliothek. Die WebAssembly-Unterstützung wächst.

vorlesen Druckansicht 3 Kommentare lesen

(Bild: jakkaje879/Shutterstock.com)

Lesezeit: 3 Min.
Inhaltsverzeichnis
close notice

This article is also available in English. It was translated with technical assistance and editorially reviewed before publication.

Die Programmiersprache Go hat ein Update erhalten: Version 1.24 ist ab sofort verfĂĽgbar. Diese Version bringt zahlreiche Neuerungen und Optimierungen, die sowohl die SprachunterstĂĽtzung als auch die Leistung, Werkzeuge und die Standardbibliothek betreffen.

Entwicklerinnen und Entwickler können sich auf die vollständige Unterstützung von generischen Typ-Aliassen freuen, eine verbesserte Effizienz in der Laufzeitumgebung sowie überarbeitete Werkzeuge. Darüber hinaus bietet das Update wichtige Erweiterungen in der Standardbibliothek und die Unterstützung für WebAssembly wurde weiter ausgebaut.

Entwicklerinnen und Entwickler können jetzt die vollständige Unterstützung für generische Typ-Aliasse nutzen, was die Parametrisierung von Typ-Aliassen ermöglicht. In der Laufzeitumgebung wurden Leistungsverbesserungen implementiert, die laut Ankündigungsbeitrag die CPU-Belastung um durchschnittlich 2 bis 3 Prozent reduzieren sollen. Dazu tragen eine neue map-Implementierung, effizientere Speicherzuweisungen und eine neue interne Mutex-Implementierung bei.

In Go 1.24 hat das Entwicklerteam Änderungen an den Werkzeugen vorgenommen. Der go-Befehl bietet jetzt einen neuen Mechanismus zur Verfolgung von Werkzeugabhängigkeiten innerhalb eines Moduls. Mit dem Befehl go get -tool lässt sich eine tool-Direktive zum aktuellen Modul hinzufügen und mit go tool [tool name] lassen sich die Werkzeuge ausführen, die mit dieser Direktive deklariert wurden.

Darüber hinaus erweitert das Update den go vet-Unterbefehl um einen neuen Test-Analyzer, der häufige Fehler in den Deklarationen von Tests, Fuzzern, Benchmarks und Beispielen in Testpaketen melden soll.

Videos by heise

In der Standardbibliothek von Go 1.24 gibt es gleich mehrere Neuerungen. Dazu zählt unter anderem die Einführung neuer Mechanismen zur Unterstützung der vom National Institute of Standards and Technology (NIST) festgelegten Verschlüsselungsstandards FIPS-140-3, die es ermöglichen, zugelassene Algorithmen ohne Änderungen am Quellcode der Anwendungen zu nutzen.

Des Weiteren hält das Update einige Pakete für die Standardbibliothek bereit, die zuvor im x/crypto-Modul enthalten waren, was den Zugriff auf diese Funktionen vereinfachen soll.

Zusätzlich etabliert das Entwicklerteam die testing.B.Loop-Methode, die Benchmarks effizienter und weniger fehleranfällig machen soll, indem sie herkömmliche Schleifenstrukturen ersetzt. Der neue os.Root-Typ erlaubt es, Dateisystemoperationen sicher und isoliert innerhalb eines bestimmten Verzeichnisses durchzuführen. Außerdem bietet die Laufzeitumgebung mit runtime.AddCleanup laut Blogbeitrag einen neuen, flexibleren und effizienteren Finalisierungsmechanismus, der weniger fehleranfällig ist als der bisherige runtime.SetFinalizer.

FĂĽr WebAssembly fĂĽhrt Go 1.24 die go:wasmexport-Direktive ein, mit der sich Funktionen an den WebAssembly-Host exportieren lassen. Zudem wird die Erstellung von Go-Programmen als WASI-Reaktor/Bibliothek unterstĂĽtzt.

WeiterfĂĽhrende Informationen zu Go 1.24 bietet der AnkĂĽndigungsbeitrag im Go-Blog.

(mdo)