Verëffentlechung vun der Go Programméiersprooch 1.18

D'Verëffentlechung vun der Go 1.18 Programméierungssprooch gëtt presentéiert, déi vu Google mat der Participatioun vun der Gemeinschaft als Hybridléisung entwéckelt gëtt, déi d'High Performance vu kompiléierte Sprooche kombinéiert mat sou Virdeeler vu Skriptsproochen wéi Einfachheet vum Code ze schreiwen , Vitesse vun Entwécklung a Feeler Schutz. De Projet Code gëtt ënner der BSD Lizenz verdeelt.

Dem Go seng Syntax basĂ©iert op vertraute Elementer vun der C Sprooch mat e puer PrĂȘten aus der Python Sprooch. D'Sprooch ass zimmlech prĂ€zis, awer de Code ass einfach ze liesen a verstoen. Go Code gĂ«tt a Stand-alone binĂ€r ausfĂŒhrbar Dateien zesummegesat, dĂ©i natiirlech lafen ouni eng virtuell Maschinn ze benotzen (Profiling, Debugging Moduler, an aner Runtime Problem Detectioun Subsystemer sinn als Runtime Komponenten integrĂ©iert), wat d'Performance verglĂ€ichbar mat C Programmer erlaabt.

De Projet ass ufanks entwéckelt mat engem Auge fir Multi-threaded Programméierung an effizient Operatioun op Multi-Core Systemer, dorënner d'Bedreiwer-Niveau Mëttele fir d'Organisatioun vun parallele Informatik an Interaktioun tëscht parallel ausgefouerten Methoden z'organiséieren. D'Sprooch bitt och e gebaute Schutz géint iwwerallokéiert Erënnerungsblocken a bitt d'FÀegkeet fir e Gerempels ze benotzen.

DĂ©i nei Versioun fĂŒĂŒgt ËnnerstĂ«tzung fir generesch Funktiounen an Typen (Generik), mat der HĂ«llef vun deenen en EntwĂ©ckler kann Funktiounen definĂ©ieren a benotzen, entwĂ©ckelt fir mat verschiddenen Typen glĂ€ichzĂ€iteg ze schaffen. Et ass och mĂ©iglech Interfaces ze benotzen fir kombinĂ©iert Typen ze kreĂ©ieren dĂ©i verschidde Datentypen spanen. ËnnerstĂ«tzung fir Generik gĂ«tt implementĂ©iert ouni RĂ©ckkompatibilitĂ©it mam existente Code ze briechen. // Zomm gesat WĂ€erter, Wierker fir int64 an float64 Zorte func SumIntsOrFloats[K verglĂ€ichbar, V int64 | float64](m Kaart[K]V) V { var s V fir _, v := Range m { s += v } Retour s } // Eng aner Optioun mat enger generescher Typdefinitioun: Typ Zuel Interface { int64 | float64 } func SumNumbers[K verglĂ€ichbar, V Zuel](m Kaart[K]V) V { var s V fir _, v := Range m { s += v } return s }

Aner Verbesserungen:

  • Utilities fir Fuzzing Code Testen sinn an de Standard Toolkit integrĂ©iert. WĂ€rend Fuzzing Testen gĂ«tt e Stroum vun all mĂ©igleche zoufĂ€lleg Kombinatioune vun Inputdaten generĂ©iert a mĂ©iglech Feeler wĂ€rend hirer Veraarbechtung opgeholl. Wann eng Sequenz crasht oder net mat der erwaarter Äntwert passt, dann ass dĂ«st Verhalen hĂ©ich wahrscheinlech e Feeler oder Schwachstelle ze weisen.
  • ZousĂ€tzlech ËnnerstĂ«tzung fir multimodulare AarbechtsberĂ€icher, wat Iech erlaabt Kommandoen op verschidde Moduler glĂ€ichzĂ€iteg auszefĂ©ieren, wat Iech erlaabt glĂ€ichzĂ€iteg Code a verschidde Moduler ze bauen a lafen.
  • Bedeitend LeeschtungsoptimisĂ©ierunge goufen fir Systemer basĂ©iert op Apple M1, ARM64 a PowerPC64 Prozessoren gemaach. AktivĂ©iert d'KapazitĂ©it fir Registere ze benotzen amplaz vum Stack fir Argumenter op Funktiounen ze passĂ©ieren an d'Resultat zrĂ©ckzeginn. Verbessert Inline Ausrollung vu Schleifen vum Compiler. TypprĂŒfung am Compiler gouf komplett nei designt. E puer Tester weisen eng 20% ​​ErhĂ©ijung vun der Codeleistung am Verglach zu der viregter VerĂ«ffentlechung, awer d'Kompilatioun selwer dauert ongefĂ©ier 15% mĂ©i laang.
  • An der Runtime ass d'Effizienz vum Retour vum frĂ€ie GedĂ€chtnis an de Betribssystem erhĂ©icht ginn an d'Operatioun vum MĂŒllsammler gouf verbessert, d'Behuele vun deem mĂ©i prĂ©visibel ginn ass.
  • Nei Packagen net/netip an Debug/buildinfo goufen an d'StandardbibliothĂ©ik bĂ€igefĂŒĂŒgt. ËnnerstĂ«tzung fir TLS 1.0 an 1.1 ass als Standard am Client Code deaktivĂ©iert. De Krypto/x509 Modul huet gestoppt d'Veraarbechtung vun Zertifikater Ă«nnerschriwwen mam SHA-1 Hash.
  • D'Ufuerderunge fir d'Ëmwelt am Linux goufen erhĂ©icht fir ze schaffen, Dir musst elo e Linux Kernel vun op d'mannst Versioun 2.6.32 hunn. An der nĂ€chster VerĂ«ffentlechung ginn Ă€hnlech Ännerunge fir FreeBSD erwaart (ËnnerstĂ«tzung fir d'FreeBSD 11.x Branche gĂ«tt gestoppt) an op d'mannst FreeBSD 12.2 wĂ€ert nĂ©ideg sinn fir ze schaffen.

Source: opennet.ru

Kaaft zouverlĂ€sseg Hosting fir Site mat DDoS Schutz, VPS VDS Server đŸ”„ Kaaft zouverlĂ©issegt WebsĂ€ithosting mat DDoS-Schutz, VPS VDS Server | ProHoster