Go programming language release 1.13

Gipasa ni pagpagawas sa programming language Lakaw 1.13, nga gipalambo sa Google uban ang pag-apil sa komunidad ingon usa ka hybrid nga solusyon nga naghiusa sa taas nga pasundayag sa mga hiniusa nga mga sinultian nga adunay mga bentaha sa mga sinultian sa script sama sa kadali sa pagsulat sa code, katulin sa pag-uswag ug pagpanalipod sa sayup. Kodigo sa proyekto giapod-apod sa ubos sa lisensya sa BSD.

Ang syntax ni Go gibase sa pamilyar nga mga elemento sa C nga pinulongan nga adunay pipila ka mga paghulam gikan sa Python nga pinulongan. Ang pinulongan mubo ra, apan ang code sayon ​​basahon ug sabton. Ang Go code gihugpong ngadto sa stand-alone binary executables nga modagan sa lumad nga walay paggamit sa usa ka virtual machine (profiling, debugging, ug uban pang runtime nga mga subsystem sa pagtuki sa problema gihiusa ingon nga runtime nga mga sangkap), nga nagtugot kanimo nga makab-ot ang pasundayag nga ikatandi sa mga programa sa C.

Ang proyekto sa sinugdan naugmad uban ang usa ka mata sa multi-threaded programming ug episyente nga operasyon sa multi-core nga mga sistema, lakip ang paghatag og operator-level nga paagi alang sa pag-organisar sa parallel computing ug interaksyon tali sa parallel-executed nga mga pamaagi. Naghatag usab ang lengguwahe og built-in nga proteksyon batok sa sobra nga gigahin nga mga bloke sa panumduman ug naghatag katakus sa paggamit sa usa ka tigkolekta sa basura.

nag-unang mga inobasyongipaila sa Go 1.13 nga pagpagawas:

  • Ang crypto/tls nga pakete adunay suporta sa protocol nga gipagana pinaagi sa default TLS 1.3. Gidugang ang bag-ong pakete nga "crypto/ed25519" nga adunay suporta alang sa Ed25519 digital nga pirma;
  • Gidugang nga suporta alang sa mga bag-ong numeric literal nga prefix aron mahibal-an ang binary nga mga numero (eg 0b101), octal (0o377), hinanduraw (2.71828i) ug hexadecimal floating point (0x1p-1021), ug ang abilidad sa paggamit sa "_" nga karakter aron makita nga magkabulag nga mga numero sa daghang gidaghanon (1_000_000);
  • Ang pagdili sa paggamit lamang sa wala mapirmahan nga mga counter sa mga operasyon sa pagbalhin gitangtang, nga naglikay sa wala kinahanglana nga mga pagkakabig sa uint type sa dili pa gamiton ang "β€Ήβ€Ή" ug "β€Ίβ€Ί" nga mga operator;
  • Gidugang nga suporta alang sa plataporma sa Illumos (GOOS=illumos). Nasiguro ang pagkaangay sa plataporma sa Android 10. Ang mga kinahanglanon alang sa minimum nga mga bersyon sa FreeBSD (11.2) ug macOS (10.11 "El Capitan") nadugangan.
  • Padayon nga pagpalambo sa bag-ong sistema sa module, nga mahimong gamiton isip alternatibo sa GOPATH. Sukwahi sa gipahibalo kaniadto nga mga plano sa Go 1.13, kini nga sistema dili mahimo pinaagi sa default ug nanginahanglan pagpaaktibo pinaagi sa GO111MODULE=on variable o ang paggamit sa usa ka konteksto diin ang mga module awtomatiko nga gigamit. Ang bag-ong sistema sa module adunay gihiusa nga suporta sa bersyon, mga kapabilidad sa paghatud sa pakete, ug gipaayo nga pagdumala sa pagsalig. Uban sa mga modules, ang mga developers wala na gihigot sa pagtrabaho sulod sa usa ka GOPATH tree, mahimong tin-aw nga nagpatin-aw sa mga bersyon nga dependency, ug makahimo og balik-balik nga pagtukod.

    Dili sama sa nangaging mga pagpagawas, ang awtomatik nga aplikasyon sa bag-ong sistema karon molihok kung ang usa ka go.mod file naa sa karon nga direktoryo sa pagtrabaho o direktoryo sa ginikanan kung gipadagan ang go command, lakip kung naa kini sa direktoryo sa GOPATH/src. Gidugang ang bag-ong mga variable sa palibot: GOPRIVATE, nga naghubit sa mga agianan sa mga module nga ma-access sa publiko, ug GOSUMDB, nga nagtino sa mga parameter sa pag-access sa database sa checksum alang sa mga module nga wala nalista sa go.sum file;

  • Ang "go" nga sugo pinaagi sa default nagkarga sa mga module ug nagsusi sa ilang integridad gamit ang module mirror ug checksum database nga gimintinar sa Google (proxy.golang.org, sum.golang.org ug index.golang.org);
  • Ang suporta alang lamang sa binary nga mga pakete wala na ipadayon; ang paghimo og usa ka pakete sa "//go: binary-only-package" nga paagi karon moresulta sa usa ka sayup;
  • Gidugang nga suporta alang sa "@patch" suffix sa "go get" nga sugo, nga nagpakita nga ang module kinahanglan nga i-update sa pinakabag-o nga pagpagawas sa maintenance, apan walay pagbag-o sa kasamtangan nga mayor o minor nga bersyon;
  • Sa pagkuha sa mga modules gikan sa source control system, ang "go" command karon nagpahigayon ug dugang nga pagsusi sa version string, naningkamot sa pagpares sa pseudo-version nga mga numero sa metadata gikan sa repository;
  • Gidugang nga suporta sayop inspeksyon (error wrapping) pinaagi sa paghimo og mga wrapper nga nagtugot sa paggamit sa standard error handler. Pananglitan, sayup Ang "e" mahimong maputos sa sayup nga "w" pinaagi sa paghatag usa ka pamaagi Paghukas, nibalik ug "w". Ang duha ka mga sayop nga "e" ug "w" anaa sa programa ug ang mga desisyon gihimo base sa sayop nga "w", apan ang "e" naghatag og dugang nga konteksto sa "w" o naghubad niini sa lahi nga paagi;
  • Ang pasundayag sa mga sangkap sa runtime na-optimize (usa ka pagtaas sa tulin nga hangtod sa 30% ang namatikdan) ug usa ka labi ka agresibo nga pagbalik sa memorya sa operating system ang gipatuman (kaniadto, ang memorya gibalik pagkahuman sa lima o labaw pa nga mga minuto, apan karon dayon. human sa pagkunhod sa gidak-on sa tapok).

Source: opennet.ru

Idugang sa usa ka comment