01. Sept. 2021·1 Min. Lesezeit

Go 1.17 Produktionsfreigabe: Vereinfachte Kodierung für Sicherheit und Leistungsverbesserungen

Die neueste Produktionsversion von Googles Open-Source-Programmiersprache Go 1.17 führt Verbesserungen an Sprache und Compiler ein, um Sicherheit und Leistung zu verbessern. Zu den neuen Funktionen gehören eine effizientere Methode zur Übergabe von Funktionsargumenten mithilfe von Registern und eine vereinfachte Kodierung für sichere Zeigeroperationen.

Go 1.17 Produktionsfreigabe: Vereinfachte Kodierung für Sicherheit und Leistungsverbesserungen

Go 1.17, das jüngste Update der Open-Source-Programmiersprache von Google, wurde veröffentlicht, um sowohl die Sicherheit als auch die Leistung zu verbessern. Diese Produktionsversion enthält Sprach- und Compiler-Verbesserungen, die sich auf die Rationalisierung der Codierung für die Sicherheit konzentrieren und gleichzeitig eine leistungsfähigere Methode zur Übergabe von Funktionsargumenten bieten.

In den offiziellen Release Notes werden drei kleine Änderungen an der Sprache hervorgehoben, von denen zwei darauf abzielen, das Schreiben von Code, der die Sicherheitsregeln von unsafe.Pointer erfüllt, zu erleichtern. Die drei Erweiterungen umfassen:

Zusätzlich zu diesen Sprachverbesserungen führt Go 1.17 auch eine neue Compilertechnik zur Übergabe von Funktionsargumenten und -ergebnissen über Register statt über den Stack ein. Diese Änderung wurde für Linux, MacOS und Windows auf der 64-Bit-x86-Architektur aktiviert. Benchmark-Tests zufolge führt diese Aktualisierung zu einer Leistungsverbesserung von etwa 5 % und einer typischen Verringerung der Binärgröße um etwa 2 %. Wichtig ist, dass diese Änderung keinen Einfluss auf die Funktionalität von sicherem Go-Code hat. Darüber hinaus erlaubt der Compiler nun das Inlinen von Funktionen, die Closures enthalten, was dazu führen kann, dass für jede Stelle, an der die Funktion inline ist, ein eigener Closure-Code-Zeiger verwendet wird.

Eine weitere wichtige Funktion von Go 1.17 ist die Einführung von beschnittenen Modulgraphen. Modulgraphen von Modulen, die in ihrer go .mod-Datei Go 1.17 oder höher spezifizieren, enthalten nur die unmittelbaren Abhängigkeiten von anderen Go 1.17-Modulen und nicht deren vollständige transitive Abhängigkeiten.

Entwickler können Go 1.17 von golang.org herunterladen. Die Vorgängerversion, Go 1.16, wurde im Februar veröffentlicht und brachte Bibliotheks- und Laufzeitverbesserungen mit sich. Zu den aktuellen stabilen Versionen gehören Go 1.16.5 und Go 1.15.13. Eine zukünftige Version der Sprache soll eine Fuzzing-Funktion für Go-Entwickler enthalten. Go 1.17 wurde am 10. Juni in die Beta-Phase überführt.

Entwickler, die Web-, Backend- oder mobile Anwendungen erstellen wollen, können von Plattformen wie AppMaster.io profitieren, die eine leistungsstarke no-code Entwicklungsumgebung bieten, die den Entwicklungsprozess beschleunigt und die Skalierbarkeit für Unternehmens- und Hochlastanwendungen gewährleistet.

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started