Kuburitswa kweGo programming mutauro 1.13

Introduced programming language release Enda 1.13, iyo iri kuvandudzwa neGoogle nekutora chikamu kwenharaunda semhinduro yakasanganiswa iyo inosanganisa kuita kwepamusoro kwemitauro yakaunganidzwa nezvakanakira zvekunyora mitauro sekureruka kwekunyora kodhi, kukurumidza kwekusimudzira uye kudzivirira kukanganisa. Project code inoparadzirwa ne pasi peBSD rezinesi.

Syntax yaGo yakavakirwa pazvinhu zvinozivikanwa zvemutauro weC nezvimwe zvinokwereta kubva mumutauro wePython. Mutauro wacho wakapfupikiswa, asi kodhi yacho iri nyore kuverenga nekunzwisisa. Go kodhi inounganidzwa mune yakamira-yega mabhinari eexecutables anomhanya natively pasina kushandisa chaiwo muchina (profiling, debugging, uye mamwe ekumhanya-mhanya ekuona dambudziko subsystems akabatanidzwa se. runtime components), iyo inokutendera iwe kuti uwane kuita kunofananidzwa neC zvirongwa.

Iyo purojekiti yakatanga kugadziridzwa neziso kune akawanda-tambo dhizaini hurongwa uye hunoshanda hunoshanda pane akawanda-epakati masisitimu, kusanganisira kupa opareta-nhanho nzira yekuronga parallel computing uye kudyidzana pakati peparallel-executed nzira. Mutauro unopawo kuchengetedzwa kwakavakirwa-mukati kubva kune-yakagoverwa ndangariro mabhuroko uye inopa kugona kushandisa muunganidzi wemarara.

chikuru zvitsvayakaunzwa muGo 1.13 kuburitswa:

  • Iyo crypto/tls package ine protocol rutsigiro inogoneswa nekusarudzika TLS 1.3. Yakawedzera pasuru nyowani "crypto/ed25519" nerutsigiro rweEd25519 masiginecha edhijitari;
  • Yakawedzerwa tsigiro yezvivakwa zvitsva zvenhamba kutsanangura manhamba ebhinari (semuenzaniso 0b101), octal (0o377), yekufungidzira (2.71828i) uye hexadecimal inoyangarara poindi (0x1p-1021), uye kugona kushandisa "_" hunhu kuparadzanisa manhamba. muhuwandu (1_000_000);
  • Kurambidzwa kushandisa zviverengero zvisina kusainwa chete mumashift operations kwabviswa, izvo zvinodzivirira kushandurwa kusingakoshi kurudzi rweuint usati washandisa β€œβ€Ήβ€Ήβ€ uye β€œβ€Ίβ€Ίβ€ vashandisi;
  • Yakawedzera rutsigiro rweIllumos chikuva (GOOS=illumos). Kuenderana nepuratifomu yeAndroid 10 kwave kuoneswa. Zvinodiwa zvemhando shoma dzeFreeBSD (11.2) uye macOS (10.11 β€œEl Capitan”) zvawedzerwa.
  • Kuenderera mberi nekuvandudzwa kweiyo nyowani module system, iyo inogona kushandiswa seimwe nzira yeGOPATH. Kusiyana nezvirongwa zvakamboziviswa muGo 1.13, iyi sisitimu haina kugoneswa nekukasira uye inoda activation kuburikidza neGO111MODULE=pakuchinjana kana kushandiswa kwechimiro umo mamodule anoshandiswa otomatiki. Iyo nyowani module system inoratidzira yakabatanidzwa vhezheni rutsigiro, mapakeji ekutakura kugona, uye yakagadziridzwa kutsamira manejimendi. Nemamodules, vagadziri havachasungirirwe kushanda mukati meGOPATH muti, vanogona kutsanangura zvakajeka kutsamira, uye kugadzira zvinodzokororwa kuvaka.

    Kusiyana neyakaburitswa yakamboburitswa, otomatiki application yeiyo itsva system ikozvino inoshanda kana go.mod faira iripo mune yazvino dhairekitori rekushanda kana dhairekitori revabereki paunenge uchimhanyisa go command, kusanganisira kana iri muGOPATH/src dhairekitori. Zvitsva zvezvakatipoteredza zvakasiyana-siyana zvakawedzerwa: GOPRIVATE, iyo inotsanangura nzira dzemamodules anowanikwa pachena, uye GOSUMDB, iyo inotsanangura nzira dzekuwana kune checksum database yemamodule asina kunyorwa mugo.sum file;

  • Murairo we "enda" nekusarudzika unotakura mamodule uye unotarisa kuvimbika kwavo uchishandisa module yegirazi uye cheki dhatabhesi inochengetwa neGoogle (proxy.golang.org, sum.golang.org uye index.golang.org);
  • Tsigiro yemapakeji ebhinari chete yakamiswa; kuvaka pasuru mu "//go: binary-chete-package" modhi zvino zvinoguma nekukanganisa;
  • Yakawedzera tsigiro ye "@patch" suffix kune "enda utore" kuraira, zvichiratidza kuti module inofanirwa kuvandudzwa kune yazvino kugadzirisa kuburitswa, asi pasina kushandura yazvino huru kana diki vhezheni;
  • Paunenge uchidzora mamodule kubva kusource control system, iyo "enda" murairo ikozvino inoita cheki chekuwedzera pane tambo yeshanduro, ichiedza kuenzanisa nhamba dzepseudo-version nemetadata kubva pane repository;
  • Yakawedzerwa rutsigiro kuongorora kukanganisa (kuputira kukanganisa) kuburikidza nekugadzirwa kwezviputi zvinobvumira kushandiswa kwemaitiro ekukanganisa. Semuyenzaniso, kukanganisa "e" inogona kuputirwa kukanganisa "w" nekupa nzira Svinura, kudzoka "w". Zvose zvikanganiso "e" uye "w" zvinowanikwa muchirongwa uye sarudzo dzinoitwa zvichienderana nekukanganisa "w", asi "e" inopa mamwe mamiriro ezvinhu ku "w" kana kuidudzira zvakasiyana;
  • Kuitwa kwezvikamu zvenguva yekumhanya kwakagadziridzwa (kukurumidza kuwedzera kusvika ku30% kwacherechedzwa) uye kudzoserwa kwehasha kwekurangarira kune sisitimu yekushandisa yaitwa (kare, chiyeuchidzo chakadzoserwa mushure memaminitsi mashanu kana anopfuura, asi ikozvino nekukurumidza. mushure mekudzikisa saizi yemurwi).

Source: opennet.ru

Voeg