Gean programmeartaal release 1.14

Yntrodusearre útjefte fan programmeartaal Gean 1.14, dy't wurdt ûntwikkele troch Google mei de partisipaasje fan 'e mienskip as in hybride oplossing dy't de hege prestaasjes fan kompilearre talen kombineart mei de foardielen fan skripttalen lykas gemak fan skriuwen fan koade, snelheid fan ûntwikkeling en flaterbeskerming. Projektkoade ferspraat troch ûnder de BSD-lisinsje.

De syntaksis fan Go is basearre op bekende eleminten fan 'e C-taal mei guon lienen út' e Python-taal. De taal is frij beknopt, mar de koade is maklik te lêzen en te begripen. Go-koade is kompilearre yn stand-alone binêre útfierbere triemmen dy't natuerlik rinne sûnder in firtuele masine te brûken (profilearjen, debuggen en oare subsystemen foar deteksje fan runtimeproblemen binne yntegreare as runtime komponinten), wêrtroch jo prestaasjes kinne berikke fergelykber mei C-programma's.

It projekt is yn earste ynstânsje ûntwikkele mei it each op multi-threaded programmearring en effisjinte operaasje op multi-core systemen, ynklusyf it jaan fan operator-nivo middels foar it organisearjen fan parallel computing en ynteraksje tusken parallel útfierd metoaden. De taal biedt ek ynboude beskerming tsjin oerallokearre ûnthâldblokken en jout de mooglikheid om in garbage collector te brûken.

haad ynnovaasjesyntrodusearre yn 'e Go 1.14 release:

  • It nije modulesysteem yn it kommando "go" wurdt klear ferklearre foar algemien gebrûk, standert ynskeakele, en oanrikkemandearre foar ôfhinklikensbehear ynstee fan GOPATH. It nije modulesysteem hat yntegreare ferzjestipe, mooglikheden foar pakketlevering, en ferbettere ôfhinklikensbehear. Mei modules binne ûntwikkelders net mear bûn oan it wurkjen binnen in GOPATH-beam, kinne eksplisyt definieare ferzjes ôfhinklikens definiearje en werheljebere builds meitsje.
  • Added stipe foar ynbêde ynterfaces mei in oerlappende set metoaden. Metoaden fan in ynboude ynterface kinne no deselde nammen en hantekeningen hawwe as metoaden yn besteande ynterfaces. Eksplisyt ferklearre metoaden bliuwe unyk as earder.
  • De prestaasjes fan 'e "útstelle" ekspresje is ferbettere, wêrtroch't it hast like rap is as it direkt oproppen fan in útstelde funksje, wêrtroch útstelde funksje-útfiering mooglik is yn prestaasjesgefoelige koade.
  • Asynchronous preemption fan coroutines (goroutines) wurdt levere - loops dy't gjin funksje-oanroppen befetsje kinne no potinsjeel liede ta deadlock fan de planner of fertrage it begjin fan garbage collection.
  • De effisjinsje fan it systeem foar tawizing fan ûnthâldpagina's is ferbettere en d'r binne no signifikant minder slûskonflikten yn konfiguraasjes mei grutte GOMAXPROCS-wearden. It resultaat is fermindere latency en ferhege trochslach, wylst se tagelyk yntinsyf fersprieden fan grutte blokken ûnthâld.
  • Beskoatteljen is optimalisearre en it oantal kontekst-skeakels is fermindere by it útfieren fan ynterne timers brûkt yn 'e time.After, time.Tick, net.Conn.SetDeadline funksjes.
  • Yn it go-kommando is de flagge "-mod = vendor" standert ynskeakele as d'r in ferkeapermap is yn 'e root, bedoeld foar it leverjen fan eksterne ôfhinklikens bûn oan in spesifike ferkeaper. In aparte "-mod = mod" flagge tafoege om modules te laden fan 'e module-cache ynstee fan út' e "ferkeaper" map. As it go.mod-bestân allinich lêzen is, wurdt de flagge "-mod = readonly" standert ynsteld as d'r gjin top "ferkeaper" map is. Flagge "-modfile = triem" tafoege om in alternatyf go.mod-bestân oan te jaan ynstee fan dy yn 'e rootmap fan' e module.
  • De GOINSECURE omjouwingsfariabele tafoege, as ynsteld, fereasket it go-kommando gjin gebrûk fan HTTPS en slaat sertifikaatkontrôle oer by it direkt laden fan modules.
  • De gearstaller hat de flagge "-d=checkptr" tafoege, standert ynskeakele, om koade te kontrolearjen foar konformiteit mei de regels foar feilich gebrûk fan unsafe.Pointer.
  • In nij pakket is opnommen yn 'e levering hash/maphash mei net-kryptografyske hashfunksjes om hashtabellen te meitsjen foar willekeurige bytesekwinsjes of snaren.
  • Eksperimintele stipe tafoege foar it 64-bit RISC-V-platfoarm op Linux.
  • Stipe tafoege foar FreeBSD op 64-bit ARM-systemen.

Boarne: opennet.ru

Add a comment