Ewch rhyddhau iaith raglennu 1.24

Ar ôl chwe mis o ddatblygiad, mae'r iaith raglennu Go, a ddatblygwyd gan Google gyda chyfranogiad y gymuned, wedi'i rhyddhau fel fersiwn 1.24. Mae'r iaith yn cyfuno perfformiad uchel ieithoedd a luniwyd gyda manteision sgriptio ieithoedd megis rhwyddineb ysgrifennu cod, cyflymder datblygu uchel, a diogelu gwallau. Mae cod y prosiect yn cael ei ddosbarthu o dan y drwydded BSD.

Mae cystrawen Go yn seiliedig ar elfennau cyfarwydd o'r iaith C gyda rhai benthyciadau o'r iaith Oberon. Mae'r iaith yn eithaf cryno, ond mae'r cod yn hawdd i'w ddarllen a'i ddeall. Mae cod Go wedi'i lunio'n ffeiliau gweithredadwy deuaidd ar wahân sy'n rhedeg yn frodorol, heb ddefnyddio peiriant rhithwir (proffilio, mae modiwlau dadfygio ac is-systemau canfod problemau runtime eraill wedi'u hintegreiddio fel cydrannau runtime), sy'n caniatáu perfformiad tebyg i raglenni C.

Datblygir y prosiect i ddechrau gyda llygad ar raglennu aml-edau a gweithrediad effeithlon ar systemau aml-graidd. Er enghraifft, ar lefel gweithredwr, gweithredir offer ar gyfer trefnu cyfrifiannau cyfochrog a rhyngweithio rhwng dulliau cyfochrog. Mae'r iaith hefyd yn darparu amddiffyniad gor-redeg byffer adeiledig a galluoedd casglu sbwriel.

Ymhlith y newidiadau yn y datganiad newydd:

  • Darperir cefnogaeth lawn ar gyfer arallenwau math generig - gellir paramedroli alias math, yn union fel math sydd newydd ei ddiffinio (caniateir paramedrau math bellach wrth ddiffinio alias math). math set[P cymaradwy] = map[P]bool
  • Mae optimeiddiadau wedi'u gwneud i amser rhedeg, sydd wedi arwain at ostyngiad o 2-3% yn llwyth y prosesydd wrth redeg profion perfformiad nodweddiadol. Ymhlith y optimizations a gyflwynwyd: mae newydd adeiledig yn gweithredu'r gweithrediad "map", yn seiliedig ar y defnydd o dablau hash Tabl Swistir; cynyddu effeithlonrwydd defnydd cof wrth osod gwrthrychau bach; gweithredu mutex newydd yn rhan o'r amser rhedeg.
  • Bellach mae gan y gorchymyn "mynd" ar gyfer modiwlau Go fecanwaith ar gyfer olrhain dibyniaethau gweithredadwy (offer ategol wedi'i ysgrifennu yn yr iaith Go ac a ddefnyddir wrth ddatblygu modiwlau, megis linters neu gyfleustodau fformatio cod). Diffinnir cyfleustodau yn y ffeil go.mod trwy'r gyfarwyddeb "offeryn", ar gyfer ychwanegu pa un at y modiwl cyfredol yr awgrymir y gorchymyn "go get -tool" (er enghraifft, "go get -tool golang.org/x/tools/cmd/stringer"). I redeg y cyfleustodau a nodir yn y gyfarwyddeb "offeryn", mae'r gorchymyn "go tool utility_name" wedi'i ychwanegu.
  • Mae'r opsiwn "-json" wedi'i ychwanegu at y gorchmynion "go build" a "go install" i allbwn mewn fformat JSON.
  • Ychwanegwyd newidyn amgylchedd GOAUTH i osod paramedrau dilysu sydd eu hangen i adalw modiwlau gyda mynediad cyfyngedig.
  • Mae gan y gorchymyn “go vet” ddadansoddwr prawf newydd sy'n nodi gwallau cyffredin wrth redeg profion, offer niwlog, cyfleustodau perfformiad, a chymwysiadau sampl.
  • Mae'r llyfrgell safonol yn cynnwys gweithredu algorithmau cryptograffig a gymeradwywyd gan safon diogelwch FIPS 140-3.
  • Mae'r dull B.Loop wedi'i ychwanegu at y pecyn profi i berfformio profion perfformiad. Mae defnyddio "ar gyfer b.Loop() { … }" yn lle dolenni rheolaidd yn eich galluogi i osgoi'r casglwr rhag optimeiddio corff y ddolen yn llawn a symud y camau gosod a glanhau allan o'r ddolen.
  • Ychwanegwyd math os.Root, gan ganiatáu i ynysu gweithrediadau gyda'r system ffeiliau i gyfeiriadur penodol.
  • Mae mecanwaith cwblhau newydd runtime.AddCleanup wedi'i ychwanegu at amser rhedeg, sy'n fwy hyblyg ac effeithlon na runtime.SetFinalizer.
  • Ychwanegwyd pecyn gwan gyda gweithredu awgrymiadau gwan nad ydynt yn berchen ar y gwrthrych, nad ydynt yn cynyddu'r rhifydd cyfeirio ac nad ydynt yn atal y gwrthrych rhag cael ei ryddhau.
  • Pecynnau ychwanegol: crypto/mlkem gyda gweithrediad cryptoalgorithmau ML-KEM-768 a ML-KEM-1024 (Kyber), yn gallu gwrthsefyll dewis ar gyfrifiadur cwantwm; crypto/hkdf gyda gweithrediad y swyddogaeth cynhyrchu allweddol yn seiliedig ar HMAC (RFC 5869); crypto/pbkdf2 gyda gweithrediad y swyddogaeth cynhyrchu allweddol sy'n seiliedig ar gyfrinair (PBKDF2, RFC 8018); crypto/sha3 gyda gweithredu hashes SHA-3.
  • Ychwanegwyd pecyn profi / synctest arbrofol gyda swyddogaethau ar gyfer profi aml-edau.
  • Gwell cefnogaeth WebCynulliad. Ychwanegwyd y gallu i adeiladu cymwysiadau Go ar ffurf triniwr llyfrgell neu WASI (Rhyngwyneb System WebAssembly). Wedi gweithredu'r gyfarwyddeb go:wasmexport i allforio swyddogaethau i'w defnyddio yn WebCynulliad.
  • Mae'r cyfleustodau objdump wedi'i ddiweddaru i gefnogi dadosod ar gyfer pensaernïaeth LoongArch (GOARCH=loong64), RISC-V (GOARCH=riscv64), a S390X (GOARCH=s390x).

Ffynhonnell: opennet.ru

Prynu gwesteio dibynadwy ar gyfer gwefannau sydd â diogelwch DDoS, gweinyddwyr VPS VDS 🔥 Prynu cynnal gwefannau dibynadwy gyda diogelwch DDoS, gweinyddion VPS VDS | ProHoster