01 sep 2021·1 min leestijd

Go 1.17 Productieuitgave: Vereenvoudigde codering voor veiligheid en prestatieverbeteringen

De nieuwste productierelease van Google's open-source programmeertaal Go 1.17 introduceert taal- en compilerverbeteringen om de veiligheid en prestaties te verbeteren. Nieuwe functies zijn onder meer een efficiëntere methode voor het doorgeven van functieargumenten met behulp van registers en vereenvoudigde codering voor veilige pointerbewerkingen.

Go 1.17 Productieuitgave: Vereenvoudigde codering voor veiligheid en prestatieverbeteringen

Go 1.17, de meest recente update van Google's open-source programmeertaal, is uitgebracht om verbeteringen aan te brengen in zowel veiligheid als prestaties. Deze productierelease bevat taal- en compilerverbeteringen die gericht zijn op het stroomlijnen van coderingen voor de veiligheid en tegelijkertijd een performantere methode leveren voor het doorgeven van functieargumenten.

De officiële release notes benadrukken drie kleine aanpassingen aan de taal, waarvan er twee bedoeld zijn om het gemakkelijker te maken code te schrijven die voldoet aan de veiligheidsregels van unsafe.Pointer. De drie verbeteringen zijn:

Naast deze taalverbeteringen introduceert Go 1.17 ook een nieuwe compilertechniek voor het doorgeven van functieargumenten en resultaten met behulp van registers in plaats van de stack. Deze verandering is ingeschakeld voor Linux, MacOS en Windows op de 64-bit x86-architectuur. Volgens benchmarktests resulteert deze update in een prestatieverbetering van ongeveer 5% en een typische vermindering van de binaire grootte van ongeveer 2%. Belangrijk is dat deze wijziging geen invloed heeft op de functionaliteit van veilige Go-code. Bovendien staat de compiler nu toe dat functies die afsluitingen bevatten, worden geïnlindeerd, wat kan leiden tot aparte afsluitingscode-pointerfuncties voor elke plaats waar de functie wordt geïnlindeerd.

Een ander belangrijk kenmerk van Go 1.17 is de invoering van gesnoeide modulegrafieken. Modulegrafieken van modules die Go 1.17 of hoger specificeren in hun go.mod bestand zullen alleen de directe afhankelijkheden van andere Go 1.17 modules bevatten, in plaats van hun volledige transitieve afhankelijkheden.

Ontwikkelaars kunnen Go 1.17 downloaden van golang.org. De vorige versie, Go 1.16, werd uitgebracht in februari en bracht bibliotheek- en runtimeverbeteringen. De huidige stabiele versies zijn Go 1.16.5 en Go 1.15.13. Een toekomstige versie van de taal zal een fuzzingmogelijkheid voor Go-ontwikkelaars bevatten. Go 1.17 kwam op 10 juni in de bètafase.

Ontwikkelaars die web-, backend- of mobiele applicaties willen maken, kunnen profiteren van platforms als AppMaster.io, die een krachtige no-code ontwikkelomgeving bieden die het ontwikkelingsproces versnelt en schaalbaarheid garandeert voor enterprise en high-load use-cases.

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
Go 1.17 Productieuitgave: Vereenvoudigde codering voor veiligheid en prestatieverbeteringen | AppMaster