Verëffentlechung vun der Go Programméiersprooch 1.26

No sechs Méint Entwécklung ass d'Go Programméiersprooch, entwéckelt vu Google mat der Participatioun vun der Gemeinschaft, als Versioun 1.26 verëffentlecht. D'Sprooch kombinéiert déi héich Leeschtung vu kompiléierte Sprooche mat de Virdeeler vu Skriptsproochen wéi Einfachheet vum Schreiwen vum Code, héich Entwécklungsgeschwindegkeet a Feelerschutz. 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 Ausléinen aus der Oberon Sprooch. D'Sprooch ass zimmlech präzis, awer de Code ass einfach ze liesen a verstoen. Go Code gëtt a separat binär ausführbar Dateien zesummegesat, déi natiirlech ausgefouert ginn, ouni eng virtuell Maschinn ze benotzen (Profiling, Debugging Moduler an aner Runtime Problemdetektiounssubsystemer ginn als Runtime Komponenten integréiert), wat d'Performance vergläichbar mat C Programmer erlaabt.

De Projet ass ufanks mat engem Auge fir multithreaded Programméierung an effizient Operatioun op Multi-Core Systemer entwéckelt. Zum Beispill, um Bedreiwerniveau ginn Tools implementéiert fir parallel Berechnungen an Interaktioun tëscht parallele Methoden ze organiséieren. D'Sprooch bitt och agebaute Puffer Iwwerschwemmungsschutz a Gerempels Sammelméiglechkeeten.

Ënnert den Ännerungen an der neier Verëffentlechung:

  • De Garbage Collector "greenteagc", deen entwéckelt gouf fir d'Performance vum Erstelle a Scanne vu klenge Objeten ze verbesseren, ass standardméisseg aktivéiert. Applikatiounen, déi Garbage Collection staark benotzen, hunn eng Reduktioun vun 10-40% vun den Garbage Collection Overhead gesinn, wa se "greenteagc" benotzen.
  • Déi agebaute new() Funktioun, déi fir d'Erstelle vun neie Variabelen entwéckelt gouf, erlaabt Iech elo en Ausdrock als Operand ze spezifizéieren, deen den initialen Wäert vun der Variabel bestëmmt. Zum Beispill, amplaz vum Code x := int64(300) ptr := &x, kënnt Dir elo schreiwen: ptr := new(int64(300))
  • Generesch Typen däerfen sech selwer als Argument an der eegener Parameterlëscht vum Typ bezeechnen (Dir kënnt en Typ un säin eegene Parameter weiderginn). An der éischter Zeil vum Beispill hei ënnendrënner produzéiert d'Referenz vum Adder op sech selwer kee Feeler méi: type Adder[A Adder[A]] interface { Add(A) A } func algo[A Adder[A]](x, y A) A { return x.Add(y) }
  • Den Overhead fir d'Opruffe vu C-Funktiounen aus Go-Code mat cgo gëtt ëm ongeféier 30% reduzéiert.
  • D'Runtime op 64-Bit Plattformen implementéiert d'Adressraumrandomiséierung beim Start, wat d'Prediktioun vum Speicheradress komplizéiert wann et drëm geet Schwachstelle am C-Code auszenotzen, op déi iwwer cgo zougegraff gëtt. D'Optioun "GOEXPERIMENT=norandomizedheapbase64" ass verfügbar fir d'Randomiséierung auszeschalten.
  • D'Zuel vun de Situatiounen, an deenen de Compiler Speicher fir Slices um Stack anstatt um Heap allokéiert, gouf erweidert, wat e positiven Effekt op d'Performance huet.
  • De Kommando "go fix" gouf komplett nei geschriwwen mam Analysis Package, deen statistesch Codeanalysefunktionalitéiten ubitt. Ënnerstëtzung gouf fir Analysatoren bäigefüügt, déi am Modernize Package verfügbar sinn a Codevereinfachungen op Basis vun neier Sprooch- a Standardbibliothéiksfeatures proposéieren. En "Inline" Analysator gouf fir d'Inline-Erweiderung vun alle Funktiounsuruff bäigefüügt, déi mat der Direktiv "//go:fix inline" markéiert sinn.
  • Nei Pakete crypto/hpke (HPKE — Hybrid Public Key Encryption implementation), crypto/mlkem/mlkemtest an testing/cryptotest goufen bäigefüügt.
  • Den experimentelle simd/archsimd-Pak gouf bäigefüügt, deen Zougang op nidderegen Niveau fir d'Ausféierung vu Vektoroperatiounen mat SIMD-Instruktiounen op AMD64-Systemer ubitt.
  • Experimentellt Runtime/Secret-Pak bäigefüügt fir den temporäre Speicher, deen während der Ausféierung vun der spezifizéierter Funktioun zougewise gouf, sécher ze läschen (op Null ze setzen).
  • En experimentellt Profil, goroutineleak, gouf dem runtime/pprof-Pak bäigefüügt fir Goroutine-Leaks z'entdecken.

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