Ale langaj pwogramasyon lage 1.13

Entwodwi lage langaj pwogramasyon Ale 1.13, ki ap devlope pa Google ak patisipasyon kominote a kòm yon solisyon ibrid ki konbine pèfòmans segondè nan lang konpile ak avantaj ki genyen nan lang scripting tankou fasilite nan ekri kòd, vitès nan devlopman ak pwoteksyon erè. Kòd pwojè distribiye pa anba lisans BSD.

Sentaks Go a baze sou eleman abitye nan lang C ak kèk prete nan lang Python. Lang lan byen kout, men kòd la fasil pou li epi konprann. Kòd Go konpile nan ègzèkutabl binè otonòm ki kouri natif natal san yo pa itilize yon machin vityèl (profilage, debogaj, ak lòt sous-sistèm deteksyon pwoblèm ègzekutabl yo entegre kòm konpozan ègzekutabl), ki pèmèt ou reyalize pèfòmans ki konparab ak pwogram C yo.

Pwojè a okòmansman devlope ak yon je nan pwogram milti-threaded ak operasyon efikas sou sistèm milti-debaz, ki gen ladan bay mwayen nan nivo operatè pou òganize informatique paralèl ak entèraksyon ant metòd paralèl egzekite. Lang lan tou bay pwoteksyon entegre kont blòk memwa ki twò atribye yo epi li bay kapasite pou sèvi ak yon pèseptè fatra.

Prensipal la inovasyonprezante nan Go 1.13 lage:

  • Pake crypto/tls la gen sipò pwotokòl pèmèt pa default TLS 1.3. Te ajoute nouvo pake "crypto/ed25519" ak sipò pou siyati dijital Ed25519;
  • Te ajoute sipò pou nouvo prefiks literal nimerik pou defini nimewo binè (egzanp 0b101), octal (0o377), imajinè (2.71828i) ak pwen k ap flote egzadesimal (0x1p-1021), ak kapasite pou itilize karaktè "_" pou separe chif vizyèlman. an gwo kantite (1_000_000);
  • Yo te retire restriksyon sou itilize sèlman kontwa ki pa siyen nan operasyon orè, sa ki evite konvèsyon ki pa nesesè nan kalite uint anvan ou sèvi ak operatè "‹‹" ak "››";
  • Te ajoute sipò pou platfòm Illumos (GOOS = illuminamos). Yo te asire konpatibilite ak platfòm Android 10. Kondisyon pou vèsyon minimòm FreeBSD (11.2) ak macOS (10.11 "El Capitan") te ogmante.
  • Kontinye devlopman nan nouvo sistèm modil la, ki ka itilize kòm yon altènativ a GOPATH. Kontrèman ak plan yo te anonse deja nan Go 1.13, sistèm sa a pa aktive pa default epi li mande deklanchman atravè GO111MODULE=on varyab oswa itilizasyon yon kontèks kote modil yo aplike otomatikman. Nouvo sistèm modil la gen sipò vèsyon entegre, kapasite livrezon pake, ak jesyon depandans amelyore. Avèk modil, devlopè yo pa mare ankò nan travay nan yon pye bwa GOPATH, yo ka defini klèman depandans vèsyon, epi kreye bati ki ka repete.

    Kontrèman ak degaje anvan yo, aplikasyon otomatik nan nouvo sistèm lan ap travay kounye a lè yon dosye go.mod prezan nan anyè k ap travay aktyèl la oswa anyè paran yo lè w ap kouri kòmandman an, tankou lè li nan anyè GOPATH/src. Nouvo varyab anviwònman yo te ajoute: GOPRIVATE, ki defini chemen modil aksesib piblik la, ak GOSUMDB, ki espesifye paramèt aksè nan baz done checksum pou modil ki pa nan lis dosye go.sum la;

  • Kòmandman "ale" pa default chaje modil yo epi tcheke entegrite yo lè l sèvi avèk miwa modil la ak baz done checksum ke Google kenbe (proxy.golang.org, sum.golang.org ak index.golang.org);
  • Sipò pou pake binè sèlman yo sispann; bati yon pake nan mòd "//go:binary-only-package" kounye a rezilta nan yon erè;
  • Te ajoute sipò pou sifiks "@patch" nan lòd "ale jwenn" la, ki endike ke modil la ta dwe mete ajou ak dènye lage antretyen an, men san yo pa chanje vèsyon pi gwo oswa minè aktyèl la;
  • Lè w ap rekipere modil ki soti nan sistèm kontwòl sous, kòmandman "ale" kounye a fè yon chèk adisyonèl sou kòd vèsyon an, eseye matche ak nimewo pseudo-vèsyon ak metadata ki soti nan depo a;
  • Te ajoute sipò enspeksyon erè (Anbalaj erè) atravè kreyasyon an anbalaj ki pèmèt itilizasyon moun kap okipe erè estanda. Pa egzanp, erè "e" ka vlope nan erè "w" lè w bay yon metòd Debouche, retounen "w". Tou de erè "e" ak "w" disponib nan pwogram nan epi yo pran desizyon ki baze sou erè "w", men "e" bay kontèks adisyonèl nan "w" oswa entèprete li yon fason diferan;
  • Pèfòmans konpozan ègzekutabl yo te optimize (yo te note yon ogmantasyon vitès ki rive jiska 30%) epi yo te aplike yon retounen memwa pi agresif nan sistèm operasyon an (anvan, memwa te retounen apre senk minit oswa plis, men kounye a imedyatman. apre redwi gwosè pil la).

Sous: opennet.ru

Add nouvo kòmantè