Go Programméiersprooch Verëffentlechung 1.14

Agefouert Programméierungssprooch Verëffentlechung Go 1.14, déi vu Google mat der Participatioun vun der Gemeinschaft als Hybridléisung entwéckelt gëtt, déi d'Héichleistung vu kompiléierte Sproochen kombinéiert mat de Virdeeler vu Skriptsproochen wéi Einfachheet vum Code ze schreiwen, d'Geschwindegkeet vun der Entwécklung a Feelerschutz. Projet Code verdeelt duerch ënner der BSD Lizenz.

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 ass a Stand-alone binär Ausführbar kompiléiert déi nativ lafen ouni eng virtuell Maschinn ze benotzen (Profiling, Debugging, an aner Runtime Problem Detectioun Subsystemer sinn integréiert wéi Runtime Komponente), wat Iech erlaabt Leeschtung vergläichbar mat C Programmer z'erreechen.

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.

Haaptstrooss Innovatiounenagefouert an der Go 1.14 Verëffentlechung:

  • Den neie Modulsystem am Kommando "goen" ass prett fir allgemeng Benotzung deklaréiert, als Standard aktivéiert a recommandéiert fir Ofhängegkeetsmanagement amplaz GOPATH. Den neie Modulsystem huet integréiert Versiounssupport, Package Liwwerungsfäegkeeten a verbessert Ofhängegkeetsmanagement. Mat Moduler sinn d'Entwéckler net méi gebonnen fir an engem GOPATH Bam ze schaffen, kënnen explizit Versiounsabhängegkeeten definéieren a widderhuelend Builds erstellen.
  • Dobäigesat Ënnerstëtzung fir Schnëttplazen mat engem iwwerlappende Set vu Methoden z'integréieren. Methode vun enger agebauter Interface kënnen elo déiselwecht Nimm an Ënnerschrëften hunn wéi Methoden an existente Interfaces. Explizit deklaréiert Methoden bleiwen eenzegaarteg wéi virdrun.
  • D'Performance vum "defer" Ausdrock gouf verbessert, sou datt et bal sou séier ass wéi eng ausgeschwat Funktioun direkt ze ruffen, wat d'Ausféierung vun der Funktioun am leeschtungsempfindleche Code erlaabt.
  • Asynchron Preemption vu Coroutines (Goroutine) gëtt zur Verfügung gestallt - Schleifen déi keng Funktiounsruffe enthalen kënnen elo potenziell zu Scheduler Deadlock féieren oder den Start vun der Müllsammlung verspéiten.
  • D'Effizienz vum Gedächtnis Säit Allocatioun System gouf verbessert an et ginn elo wesentlech manner Sperrkonflikter a Konfiguratiounen mat grousse GOMAXPROCS Wäerter. D'Resultat ass reduzéiert Latenz a verstäerkten Duerchgang wärend gläichzäiteg intensiv grouss Erënnerungsblocken verdeelen.
  • Sperrung gouf optimiséiert an d'Zuel vun de Kontextschalter gouf reduzéiert wann Dir intern Timer benotzt an der Zäit.After, time.Tick, net.Conn.SetDeadline Funktiounen.
  • Am go Kommando ass de Fändel "-mod = Verkeefer" par défaut aktivéiert wann et e Verkeefer Verzeechnes an der Root ass, geduecht fir extern Ofhängegkeeten ze liwweren, déi mat engem spezifesche Verkeefer gebonnen sinn. Eng separat "-mod = mod" Fändel dobäigesat fir Moduler aus dem Modul Cache ze lueden anstatt aus dem "Verkeefer" Verzeechnes. Wann d'go.mod Datei nëmme liesen ass, gëtt de "-mod = readonly" Fändel als Standard gesat wann et keen Top "Verkeefer" Verzeechnes gëtt. "-modfile = Datei" Fändel dobäigesat fir eng alternativ go.mod Datei ze spezifizéieren anstatt déi am Root Verzeechnes vum Modul.
  • D'GOINSECURE Ëmfeldvariabel bäigefüügt, wann se agestallt ass, erfuerdert de Go Kommando net d'Benotzung vun HTTPS a spréngt d'Zertifikakontrolle beim Luede vun Moduler direkt.
  • De Compiler huet de Fändel "-d = checkptr" bäigefüügt, par défaut aktivéiert, fir de Code fir d'Konformitéit mat de Regele fir sécher Notzung vun onsécher.Pointer ze kontrolléieren.
  • En neie Package ass an der Liwwerung abegraff hash/maphash mat net-kryptographeschen Hashfunktiounen fir Hashtabelle fir arbiträr Bytesequenzen oder Saiten ze kreéieren.
  • Zousätzlech experimentell Ënnerstëtzung fir d'64-Bit RISC-V Plattform op Linux.
  • Zousätzlech Ënnerstëtzung fir FreeBSD op 64-Bit ARM Systemer.

Source: opennet.ru

Setzt e Commentaire